首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    REST API 设计最佳实践:如何构建、设计和使用 API ?

    学习 HTTP 基础知识 如果你想构建一个设计良好的REST API,那么你必须了解HTTP协议的基本知识。我坚信这将帮助你做出正确的设计选择。...不要嵌套资源 您可能已经注意到,REST API处理的是资源。检索资源列表或单个实例非常简单,但是,当处理相关资源时会发生什么呢?例如,假设我们想要检索特定作者(名为Cagan)的书籍列表。...分页允许用户逐步获取数据集。最简单类型的分页就是按页码进行分页,它由page和page size确定。现在问题来了:如何将这样的功能融入REST API?...使用专门针对REST API的网络框架 作为最后一个最佳实践,让我们讨论这个问题:如何在您的API中实际应用最佳实践?大多数时候,您希望建立一个快速的API,以便一些服务可以相互交互。...在Node中,Restify似乎也是一个很好的选择,尽管我还没有尝试过。我强烈建议您试一试这些框架,它们将帮助您构建美观、优雅且设计精良的REST API。

    2K40

    如何使用Spring和Java配置构建一个REST API

    使用@ExceptionHandler 7. 附加的Maven依赖项 8. 总结 1. 概览 本文展示了如何在Spring中配置REST——控制器和HTTP状态响应码、有效负载编排和内容协商的配置。...它们还确保使用正确的HTTP转换器对资源进行编排和反编排。内容协商将主要基于Accept头来选择使用哪个可用的转换器,但是也可以使用其他HTTP头来确定资源特定格式的表述。 6....API的一部分,因此应该只在对应于REST的适当层中使用;例如,如果存在DAO/DAL层,则不应该直接使用上面的自定义异常。...api.version> 这些库用于将REST资源的表述转换为JSON或XML。...总结 本教程演示了如何使用Spring 4和Java配置来实现一个REST服务,讨论了HTTP响应码、基本内容协商和编排。

    2.9K30

    (译) 如何使用 React hooks 获取 api 接口数据

    原文地址:robinwieruch 全文使用意译,不是重要的我就没有翻译了 在本教程中,我想向你展示如何使用 state 和 effect 钩子在React中获取数据。...如果你想查看完整的如何使用 React Hooks 获取数据的项目代码,可以查看 github 的仓库 如果你只是想用 React Hooks 进行数据的获取,直接 npm i use-data-api...它将引导您完成使用React类组件的数据获取,如何使用Render Prop 组件和高阶组件来复用这些数据,以及它如何处理错误以及 loading 的。...但是,如果你对错误处理、loading、如何触发从表单中获取数据或者如何实现可重用的数据获取的钩子。请继续阅读。 如何自动或者手动的触发 hook?...目前我们已经通过组件第一次加载的时候获取了接口数据。但是,如何能够通过输入的字段来告诉 api 接口我对那个主题感兴趣呢?(就是怎么给接口传数据。

    31.1K20

    如何使用mitmproxy2swagger对REST API进行逆向工程分析

    这也就意味着,在该工具的帮助下,广大研究人员能够以自动化的形式对REST API进行逆向分析,并捕捉流量数据。 除此之外,该工具还可以支持从浏览器开发者工具导出并处理HAR文件。  ...或 ... $ pip3 install mitmproxy2swagger  工具使用  Mitmproxy 首先,通过运行mitmproxy工具来捕捉流量数据,我们建议大家使用mitmweb,也就是内置在...在mitmweb中,我们可以点击“File”菜单,并选择“Save”: 第三步,使用下列参数命令来运行mitmproxy2swagger: $ mitmproxy2swagger -i -o -p api_prefix> 需要注意的是,我们可以直接使用已有的schema,并根据需要来进行自定义扩展。...其中的api_prefix>是需要进行逆向工程分析的目标API的URL基地址前缀,然后可以在mitmproxy中观察请求以及响应数据。

    1.9K30

    如何使用RESTler对云服务中的REST API进行模糊测试

    RESTler RESTler是目前第一款有状态的针对REST API的模糊测试工具,该工具可以通过云服务的REST API来对目标云服务进行自动化模糊测试,并查找目标服务中可能存在的安全漏洞以及其他威胁攻击面...如果目标云服务带有OpenAPI/Swagger规范,那么RESTler则会分析整个服务规范,然后通过其REST API来生成并执行完整的服务测试。.../build-restler.py --dest_dir 注意:如果你在源码构建过程中收到了Nuget 错误 NU1403的话,请尝试使用下列命令清理缓存...: dotnet nuget locals all --clear RESTler使用 RESTler能够以下列四种模式运行: Compile:从一个Swagger JSON或YAML规范生成一个RESTler...restler-test\Compile\engine_settings.json --no_ssl Fuzz-lean:在编译的RESTler语法中,每个endpoints+methods都执行一次,并使用一组默认的

    7K10

    0629-6.2-如何使用CM API接口获取集群所有节点内存和磁盘使用情况

    接口获取监控指标,本篇文章Fayson主要介绍如何通过CM API接口获取集群所有节点内存和磁盘使用情况。...2 接口查找及说明 在Cloudera Manager的API列表中未找到一个比较合适的接口来直接获取指定节点内存和磁盘使用情况,最终在API列表中找到了获取时序数据的接口,该接口可以通过传入tsQuery...在上面我们找到通过CM API接口来获取指定tsQuery语句的监控数据,那接下来我们在Cloudera Manager上通过图表生成器来查询需要获取的数据,最终确定tsQuery语句,如下为Fayson...写的两条语句用于满足前面的需求: 获取集群所有节点内存使用情况: select physical_memory_total, physical_memory_used ?...4 总结 1.通过CM时序数据API接口并指定tsQuery语句可以获取到Cloudera Manager界面上所有的监控图表数据。

    5.3K50

    REST端口

    REST API就是选择通过使用http协议和uri,利用C/S(客户端/服务器) 模型对资源进行增删改查操作。...而其中客户端和服务器是分离的,而知行之桥中的REST端口就是作为REST API中的客户端,对服务器发起操作请求的。 如何使用REST端口? 1....需要自动使用GET方法获取数据 在配置和调试完成后,在REST端口-》自动化设置页,勾选自动化设置-》接收,并预设自动轮询时间即可。 2....需要使用POST方法自动获取数据 需要在REST端口前加一个script端口,用于生成需要发送的请求数据,并勾选自动化-》接收。Script端口的箭头指向REST端口。...总结: 1.拿到REST API接口文档; 2.按照接口文档配置REST端口; 3.根据接口文档中的属性列表或测试文件整理请求数据; 4.发送请求数据,进行调试。 ​

    1.3K20

    REST架构风格详解

    那么我们应该如何与这个资源进行互动呢?我们对这个资源(URL)使用不同的HTTP方法,就代表对这个资源的不同操作: GET(SELECT):从服务器获取资源(一个资源或资源集合)。...完整状态码列表 如何设计RESTful API 在过去不使用RESTful架构风格的时候,如果我们要设计一个系统,会以“操作”为出发点,然后围绕它去建设其他需要的东西。...并且,不同功能的API有各自的结构,一致性很差,需要一份详细的API文档才能使用。 这种情况下,要如何通过RESTful架构风格,设计一套一致、多用途的URL呢?...需要注意的是,REST不是一个“宗教”。在你自己的应用中,遵循REST的同时应该保持合适的尺度。通过权衡利弊,选择总体效益最大的方案,即使这个方案有可能“稍微违反REST的原则”。...(比如,在首页有一个导航栏,里面有几个链接) => 用户选择了某个Hypermedia(比如,点击了“查看文章列表”的链接) => 客户端请求“文章列表”资源 => 服务器返回“文章列表”资源的表示

    1.1K20

    RESTful 接口实现简明指南

    在 REST 架构的链接应该是这个样子: URL 中不应该出现任何表示操作的动词,链接只用于对应资源; URL 中应该单复数区分,推荐的实践是永远只用复数;比如 GET /api/users 表示获取用户的列表...: GET /api/teams/123/members/234 表示获取 id 为 123 的小组下,id 为234 的成员信息 按照类似的规则,可以写出如下的接口 /api/teams (对应团队列表...【Read】,资源的读取,用 GET 请求;比如: GET /api/users ( 表示读取用户列表) GET 应当实现为一个安全方法。用于获取数据而不应该产生副作用。...gender=male 设计合适的 API URL,以及选择合适的请求方法,可以语义化的描述一个 HTTP 请求的操作。...当我们都熟悉且遵循这样的规范后,基本可以看到一个 REST 风格的接口就知道如何使用这个接口进行 CRUD 操作了。

    1.1K10

    【Go API 开发实战 2】RESTful API 介绍

    在 HTTP 协议中通过 POST、DELETE、PUT、GET 方法来对应 REST 资源的增、删、改、查操作,具体的对应关系如下: HTTP 方法 行为 URI 示例说明 GET 获取资源列表 /users...获取账号列表 GET 获取一个具体的资源 /users/admin 获取 admin 账号的详细信息 POST 创建一个新的资源 /users 创建一个新账号 PUT 以整体的方式更新一个资源 /users...通俗来讲,就是服务端实现了一个函数,客户端使用 RPC 框架提供的接口,调用这个函数的实现,并获取返回值。...REST vs RPC 在做 API 服务器开发时,很多人都会遇到这个问题 —— 选择 REST 还是 RPC。...媒体类型选择 媒体类型是独立于平台的类型,设计用于分布式系统间的通信,媒体类型用于传递信息,一个正式的规范定义了这些信息应该如何表示。

    1.6K22

    RESTful 接口实现简明指南

    在 REST 架构的链接应该是这个样子: URL 中不应该出现任何表示操作的动词,链接只用于对应资源; URL 中应该单复数区分,推荐的实践是永远只用复数;比如 GET /api/users 表示获取用户的列表...: GET /api/teams/123/members/234 表示获取 id 为 123 的小组下,id 为234 的成员信息 按照类似的规则,可以写出如下的接口 /api/teams (对应团队列表...【Read】 资源的读取,用 GET 请求;比如: GET /api/users ( 表示读取用户列表) GET 应当实现为一个安全方法。用于获取数据而不应该产生副作用。...gender=male 设计合适的 API URL,以及选择合适的请求方法,可以语义化的描述一个 HTTP 请求的操作。...当我们都熟悉且遵循这样的规范后,基本可以看到一个 REST 风格的接口就知道如何使用这个接口进行 CRUD 操作了。

    1.3K10

    第 9 篇:实现分类、标签、归档日期接口

    事实上,我们在上一部教程 HelloDjango - Django博客教程(第二版)的 页面侧边栏:使用自定义模板标签 已经讲解了如何获取归档日期列表,只是当时返回的归档日期列表直接用于模板的渲染,而这里我们需要将归档日期列表序列化后通过...回顾一下我们之前在使用视图集 viewset 时提到过 action(动作)的概念,django-rest-framework 预定义了几个标准的动作,分别为 list 获取资源列表,retrieve...我们想添加一个获取文章归档日期列表的接口,因此添加了一个 list_archive_dates 方法,并使用 action 进行装饰。...现在,侧边栏所需要的数据接口就开发完成了,接下来实现返回某一分类、标签或者归档日期下的文章列表接口。 在 使用视图集简化代码 我们开发了获取全部文章的接口。...例如选择如下的过滤参数,得到查询的 URL 为: http://127.0.0.1:10000/api/posts/?

    3.5K30

    WordPress 小程序 API 插件,连接微信、QQ、百度、头条小程序

    虽然基于 WordPress REST API 扩展,但是大部分 API 还是采用自定义,而不是 WordPress 原生的 REST API 。...自定义的 API 占了一半,而 WordPress REST API 则保留了常用且高频的 API 。 WordPress REST API 小程序插件的功能 1....支持默认文章列表是否输出文章内容选项,默认为禁止文章内容(避免内容加载过多,影响速度),可以选择开启。...,可用于文章列表显示多张文章内容插入的图像(仅获取前 9 张图) 13.提供是否屏蔽古腾堡编辑器选择,包括不常用或不需要使用的 WP REST API 字段 14.提供是否开启小程序评论审核选择 15....WordPress REST API 小程序插件获取 插件目前采用授权激活码使用,购买小程序用户可以获取授权激活码一个,支持授权三个域名使用,包括子域名在内的三个域名。

    2K10

    WordPress开源微信小程序分享

    关于开发 虽然基于 WordPress REST API 扩展,但是大部分 API 还是采用自定义,而不是 WordPress 原生的 REST API 。...由于原生的 REST API 有很多功能并不是小程序所需要的,所以在插件里增加了屏蔽低频的 WordPress REST API 。...自定义的 API 占了一半,而 WordPress REST API 则保留了常用且高频的 API 。 如何通过 API 查看数据是否输出正常呢?...支持默认文章列表是否输出文章内容选项,默认为禁止文章内容(避免内容加载过多,影响速度),可以选择开启。...,可用于文章列表显示多张文章内容插入的图像(仅获取前 9 张图) 13.提供是否屏蔽古腾堡编辑器选择,包括不常用或不需要使用的 WP REST API 字段 14.提供是否开启小程序评论审核选择 15.

    3.3K70
    领券