什么是 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.

相关文章
|
6月前
|
XML JSON 安全
深度思考:总结SOA、WSDL、SOAP、REST、UDDI之间的关系
总结起来,SOA是面向服务的架构原则,WSDL用于描述这些服务的接口,SOAP和REST是实现这些服务通讯的两种不同方法,SOAP强调严格的规范和协议扩展性,而REST强调易用性和轻量级通信。最后,UDDI定义了服务发现的机制,虽然在现实中应用不广,但在理论上是链接消费者和服务提供者的要素。这些组件和协议互相支持,共同构成了实现和利用SOA的完整生态系统。
135 2
|
API 网络架构
REST 和非REST 究竟什么区别?
REST 和非REST 究竟什么区别?
147 0
|
SQL 存储 缓存
如何理解 CRUD 与 REST
CRUD 和 REST 是应用开发领域中两个比较常见的概念,但由于二者之间概念存在重叠而常常被混淆。
360 0
如何理解 CRUD 与 REST
|
JSON 网络架构 数据格式
SpringMVC的请求与相应和REST风格
SpringMVC的请求与相应和REST风格
108 0
SpringMVC的请求与相应和REST风格
|
JSON Java 网络架构
|
缓存 NoSQL Shell
9个REST API设计的基本准则
通常情况下,在项目开发过程中涉及的API设计是采用REST API的模式,但并没有制定一个严格的、可理解的、可扩展的规范,从长远来看,随着项目的不断迭代,特别的在赶工期的情况下,REST API就会出现偏移。因此建议在项目初期就建立严格的API设计规范。
277 0
|
网络架构 Web App开发
[解读REST] 1.REST的起源
0. 世界上第一个网站 1990年12月20日,这一天对于现在的互联网来说意义非凡。欧洲核子研究组织(CREN)的科学家Tim Berners-Lee在一台NeXT电脑上启动了世界上的第一个网站(当然当时仅能Tim Berners-Lee自己访问),这台电脑至今仍保留在CREN,但当年那个网站已经不复存在了。
1397 0
[解读REST] 1.REST的起源
|
网络架构
【观点】什么是REST?
译文出自:外刊IT评论
665 0

热门文章

最新文章