什么是 Rest 动词

简介: 罗伊·菲尔丁(Roy Fielding)创造了 Representational state transfer (REST)的名称。与 SOAP 相比,这是一项非常简单且轻巧的 Web 服务。性能,可扩展性,简单性,可移植性和可修改性是其余设计背后的主要原则。REST 是一种无状态,可缓存和简单的体系结构,不是协议,而是模式。

罗伊·菲尔丁(Roy Fielding)创造了 Representational state transfer (REST)的名称。与 SOAP 相比,这是一项非常简单且轻巧的 Web 服务。性能,可扩展性,简单性,可移植性和可修改性是其余设计背后的主要原则。REST 是一种无状态,可缓存和简单的体系结构,不是协议,而是模式。


REST 动词指定要对特定资源或资源集合执行的操作。当客户端发出请求时,它应该在 HTTP 请求中发送以下信息:


  • REST 动词
  • 头信息
  • 主体(可选)

REST 使用 URI 来解码其要处理的资源。有很多可用的 REST 动词,但其中有六个是经常使用的。它们如下:

  • GET
  • POST
  • PUT
  • PATCH
  • DELETE
  • OPTIONS

如果您是软件开发人员,那么您大部分时间都会处理这六个问题。下表说明了操作、目标资源以及请求成功或失败时会发生什么:


image.png



上表的成功失败列中的数字是 HTTP 状态代码。每当客户端启动 REST 操作时,由于 REST 是无状态的,客户应该知道一种方法来找出该操作是否成功。因此,HTTP 设计出具有响应的状态代码。REST 定义给定操作的前一个状态代码类型。这意味着 REST API 应严格遵循前面的规则来实现客户端与服务器的通信。


所有定义的 REST 服务都具有以下格式。它由主机和 API 端点组成。 API 端点是服务器预定义的 URL 路径。每个 REST 请求都应该到达该路径。


REST API URI:http://HostName/API endpoint/Query(optional)


让我们更详细地查看所有动词。REST API 设计始于操作的定义和 API 端点。在实现 API 之前,设计文档应列出给定资源的所有端点。在以下部分中,我们仔细观察使用 PayPal 的 REST API 作为用例的 REST API 端点。


GET 方法

GET 方法从服务器获取给定的资源。为了指定一个资源,GET 使用了几种类型的 URI 查询:

  • 查询参数
  • 基于路径的参数

如果您不知道,您对网络的所有浏览都是通过对服务器执行 GET 请求来完成的。例如,如果您输入 www.google.com ,则实际上是获取获取搜索页面的 GET 请求。在这里,您的浏览器是客户端,Google 的 Web 服务器是 Web 服务的后端实现者。成功的 GET 操作返回 200 状态码。


路径参数的示例:


每个人都知道 PayPal。PayPal 与公司创建结算协议。如果您注册 PayPal 的支付系统,他们为您提供 REST API,以满足您的所有帐单需求。示例获取获取结算协议信息的请求如下所示:

/v1/payments/billing-agreements/agreement_id.

相关文章
|
10月前
|
API 网络架构
REST 和非REST 究竟什么区别?
REST 和非REST 究竟什么区别?
|
12月前
|
JSON 前端开发 Java
到底什么样的 REST 才是最佳 REST?
到底什么样的 REST 才是最佳 REST?
|
12月前
|
JSON 前端开发 JavaScript
【REST架构】OData、JsonAPI、GraphQL 有什么区别?
【REST架构】OData、JsonAPI、GraphQL 有什么区别?
|
缓存 网络架构 索引
Rest风格操作
Rest风格操作
|
JSON Java 网络架构
|
缓存 NoSQL Shell
9个REST API设计的基本准则
通常情况下,在项目开发过程中涉及的API设计是采用REST API的模式,但并没有制定一个严格的、可理解的、可扩展的规范,从长远来看,随着项目的不断迭代,特别的在赶工期的情况下,REST API就会出现偏移。因此建议在项目初期就建立严格的API设计规范。
220 0
|
存储 前端开发 API
什么是RESTful,REST api设计时应该遵守什么样的规则?
REST是一种软件架构风格,用于 Web 架构的设计,任何遵循 REST 设计原则的 API都被称为 RESTful,在开发初期,开发者需要花费大量的时间去设计接口,这些接口一般都是遵循RESTful风格,力争接口简单、易懂。
311 0
什么是RESTful,REST api设计时应该遵守什么样的规则?
|
XML 存储 JSON
REST 十诫
本文最初发表于 Treblle 网站,经原作者 Vedran Cindrić 授权,InfoQ 中文站翻译并分享。
129 0
REST 十诫
|
JSON 开发框架 前端开发
Rest 风格|学习笔记
快速学习 Rest 风格
105 0