首页
学习
活动
专区
圈层
工具
发布

Rest api简介

理解和使用内容协商 我们的开发者在发送一个 REST API 请求的同时,根据应用场景,针对相同的资源,可能会期待不同的返回形式。 比如,我希望根据用户客户端语言,同一个资源的内容可以返回不同的语言。...IBM developerWorks 的文件服务标签云的 API REST API 请求,要求返回 XML 格式数据: GET https://www.ibm.com/developerworks...使用 HTTP 头进行缓存处理 在 REST 的构架中,我们除了在与后台的数据交换中,需要有一个良好的缓存机制外,针对 REST API 请求都是在远端用 HTTP 发起这一特点,还需要为网络缓存进行更多考虑...IBM developerWorks 的带有电子标签的文件服务 API REST API 请求: GET https://www.ibm.com/developerworks/mydeveloperworks...,可以帮助我们更好的设计 REST API: 批量更新: 当用户需要更新多个资源的时候,你打算让开发者一次次的发送 HTTP 请求逐个更新吗?

3K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    REST API设计指导——译自Microsoft REST API Guidelines(一)

    如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本。那么什么是好的API设计?这里我们不得不提到REST API。...另外,REST API的书籍很多,但是完整完善实践丰富的设计指导并不多见,我们有幸看到了微软团队的作品——Microsoft REST API Guidelines,因此才有了此篇内容。...简单的来说,在REST API:URL定位资源,用HTTP动词(GET,POST,PUT,DELETE)描述操作。前面说了,REST 指的是一组架构约束条件和原则。...为什么用REST API? 1.前后端分离主要以API为界做接洽的,这样就会有很多的API,API的表现力更强,更加便于理解。...2.REST API没有状态,不管前端是何种状态何种设备下都可以无差别的请求资源。 3.Restful API有直接的规范和原则。 简单的来说,有以下好处: 看到Url就知道可以拿到什么。

    1.8K30

    REST API设计指导——译自Microsoft REST API Guidelines(四)

    前言 前面我们说了,如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本。那么什么是好的API设计?这里我们不得不提到REST API。...关于REST API的书籍很多,但是完整完善实践丰富的设计指导并不多见,我们有幸看到了微软团队的作品——Microsoft REST API Guidelines,因此才有了此篇内容。...符合 Microsoft REST API 指南的 API 应该支持 PATCH 方法。...OPTIONS 允许客户端检索有关资源的信息,至少可以返回表示该资源的有效方法的允许的头部信息。 PS:当发起跨域请求时,浏览器会自动发起OPTIONS请求进行检查。...表的请求头应该遵循微软REST API服务规范。使用这些标头不是必须的,但是如果用到,那么它们必须使用一致。

    3K50

    REST API设计指导——译自Microsoft REST API Guidelines(三)

    前面我们说了,如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本。那么什么是好的API设计?这里我们不得不提到REST API。...关于REST API的书籍很多,但是完整完善实践丰富的设计指导并不多见,我们有幸看到了微软团队的作品——Microsoft REST API Guidelines,因此才有了此篇内容。...Microsoft REST API 准则基本要求的一方面就是 服务的分类必须符合以下定义。...故障, 或更具体地说服务故障被定义为服务无法正确返回数据以响应有效的客户端请求。 These are generally "5xx" HTTP error codes....对于长时间运行的 API,很可能出现初始请求成功,且后续每次去获取结果时 API 也处于正常运行(每次都回传 200)中,但其底层操作已经失败了的情况。

    1.7K30

    Microsoft REST API指南

    5.2 故障 故障(缺陷),或者更具体地说是服务故障,定义为服务无法正确返回数据以响应有效的客户端请求。通常会返回“5xx”HTTP错误代码。 故障会影响整体 API 的可用性。...(for JSONP) 根据HTTP准则,这只是一个提示,响应可能有不同的内容类型,例如blob fetch,其中成功的响应将只是blob流作为有效负载。...CORS 跨域 符合Microsoft REST API准则的服务必须支持CORS(跨源资源共享)。 服务应该支持CORS *的允许起源,并通过有效的OAuth令牌强制授权。...因此,当数据包含多页时,序列化有效负载(payload)必须适当地包含下一页的不透明URL。 有关详细信息,请参阅分页指南。 客户端必须能够恰当的处理请求返回的任何给定的分页或非分页集合数据。...Changing collections POST请求不是幂等的。 这意味着发送到具有完全相同的有效负载(payload)的集合资源的两次POST请求可能导致在该集合中创建多个项。

    6.2K11

    什么是REST API

    REST API示例 在你的浏览器中打开以下链接,从Open Trivia Database[3]中请求一个随机的计算机问题: https://opentdb.com/api.php?...API-Request.png REST API响应 响应的有效负载可以是任何实用的东西:数据、HTML、图像、音频文件等等。...注意,浏览器向REST API发出两个请求: 对同一URL的HTTP OPTIONS请求确定Access-Control-Allow-Origin HTTP响应头是否有效。 实际的REST调用。...它必须确认该应用程序是一个有效的客户端,但不需要检查用户凭证。 在其他情况下,第三方应用程序正在请求用户的私有数据,如电子邮件内容。...避免在客户端JavaScript中暴露API令牌。 阻止来自未知域名或IP地址的访问。 阻止意外的大型有效负载。 考虑速率限制,也就是使用同一API令牌或IP地址的请求被限制在每分钟N个以内。

    6K20

    REST API 最佳实践

    在这篇文章中,我将带你了解创建 REST API 时需要遵循的一些最佳实践。这将帮助你创建最好的 API,并使你的 API 用户使用起来更容易。 0.什么是 REST API?...1.REST API 设计建议 1.用名词表示资源 当你设计一个 REST API 时,你不应该在端点路径中使用动词。端点应该使用名词,表示它们各自的作用。...5.用过滤、排序和分页请求数据 有时,API 的数据库可能非常大。如果发生这种情况,从这样的数据库中检索数据可能非常缓慢。 过滤、排序和分页都是可以在 REST API 的集合上执行的操作。.../users/john_doe 虽然两者在技术上都是有效的 URL,但前者更符合 REST API 的最佳实践。...first-name=john&last-name=doe 虽然在技术上两者都是有效的,但使用下划线的查询参数更符合 REST API 的最佳实践,并且更容易读写和阅读。

    2.8K20

    聊聊rest api设计

    序 本文主要研究下rest api的设计。 设计准则 easy to use & hard to misuse 易用不易误用,也就是api设计不要太复杂,要简单易用,而且还不能容易用错。...一般返回jsonObject,通常会携带code,error之类的 返回jsonObject的字段success表示请求是否成功,data表示数据,msg表示消息描述,error描述错误信息详情。...在真正需要真实数据的话,需要额外进行请求。...防止文件下载目录遍历对于提供文件下载的接口,一定要避免目录遍历问题 服务质量保障 提供SLA 提供流量管理、熔断、限流 提供服务扩容机制 提供故障演练 提供审计功能 监控异常流量 提供调用方间的隔离 小结 rest...api的设计牵扯的方面比较多,本文暂时只是先列了一些,后续有待补充。

    1.4K10

    Rest API请求管理最佳实践:RestClient-cpp库的应用案例

    随着各种网络服务和应用程序的不断涌现,有效地管理和调用REST API变得至关重要。为了解决这一需求,开发人员们倾向于寻找可靠且易于使用的库来简化REST API请求的处理。...实践应用示例为了更好地理解RestClient-cpp库的应用,我们将通过一个简单的实例来演示其在REST API请求管理中的最佳实践。...编写思路在使用RestClient-cpp库处理REST API请求时,一般的编写思路可以概括为以下步骤:创建RestClient实例:首先,需要初始化一个RestClient对象,用于发送HTTP请求...结论通过以上实例,我们可以清晰地看到RestClient-cpp库在REST API请求管理中的应用。它简化了请求的发送和响应的处理过程,使得开发人员能够更加专注于业务逻辑的实现,提高了开发效率。...总的来说,RestClient-cpp是一个功能强大、易于使用的C++库,为开发人员提供了便捷的REST API请求管理解决方案。

    76110

    快速模拟 Rest API

    在前后端开发过程中,通常会通过 web api 进行沟通,Rest 风格和 JSON结构是常用的,例如前端要获取文章列表,需要通过 GET /post 来取得数据,返回的数据例如 { "posts"...,前端为了不必等待后端,可以自己来模拟这个API,按照规定好的数据结构来返回模拟数据 json-server 就是用来实现这个需求的,不用自己写任何代码,把自己需要的模拟数据写入一个JSON文件,json-server...可以加载这个文件,并对外提供REST风格的访问方式,下面通过示例看具体的使用方式 先通过 npm 安装 json-server npm install -g json-server 然后自定义一个JSON.../1,只返回一条数据 { "id": 1, "title": "测试 json-server", "author": "dys" } 这是使用 GET 方式的访问,下面体验一下 POST 请求...我使用了 Firefox 下的一个 HTTP 插件,向 http://localhost:3000/posts 发送了 POST 请求,提交的数据为 { "id": 2, "title

    2.4K40

    什么是REST API ?

    什么是REST API ? 前言 作者:神的孩子都在歌唱 一. REST简介 REST 是 Internet 上计算机之间最常见的通信标准。 API 代表应用程序编程接口。...大多数移动和 Web 应用程序用于与服务器通信的通用 API 标准称为 REST。...这是一套新的规则,自 2000 年代初以来一直是构建 Web API 的通用标准。遵循 REST 标准的 API 称为 RESTful API。...REST 基础知识 2.1 请求方式 RESTful API 将资源组织成一组唯一的 URI 或统一资源标识符。 URl 区分服务器上不同类型的资源。 如下图, 资源应按名词而非动词分组。...幂等: 调用多个请求将不会在服务器上新增数据,也就是当 API 是幂等的时,发出多个相同的请求与发出单个请求具有相同的效果 2. POST 通常不是幂等: 因为POST请求通常是为了创建新资源。

    1.9K01

    REST API 还是 GraphQL?

    前言 说到 API 设计,GraphQL 和 RESTful API 是当前最主流的两种选择,各自有其独特优势与挑战。...你只需要请求自己需要的字段,减少冗余数据传输,可以很大程度上优化性能。 GraphQL 另外,相比 REST 的多次接口调用,GraphQL 支持聚合请求,有效减少 HTTP 请求次数。...前面提到,虽然可以聚合请求,但是所有请求集中在一个端点,可能会成为系统瓶颈,尤其在高并发场景下!...RESTful API 优劣势 RESTful API 是目前最广泛使用的接口规范,基于 HTTP 协议,使用资源路径和请求方法组合完成数据操作。...还有就是扩展性不如 GraphQL,对于需要动态字段、自定义响应结构的场景,REST 显得不够灵活! 最后 GraphQL 和 REST 各有千秋,关键在于选择适合自己团队和项目的方案。

    44310
    领券