【Java架构:系统架构理论】一篇文章搞掂:RESTful

一、定义

1、起源

  • 来源:Roy Fielding的博士论文。
  • 目的:理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。
  • 定义:一种实现软件通信的架构风格、设计风格,而不是标准;提供了一组设计原则和约束条件。
  • 用处:提供一种架构风格,目前也有很多相关实现,我们可以理解这种风格,借助这些实现来实现一个良好通信软件架构。

2、定义

REST的名称解释:

SOAP:简单对象访问协议(英文:Simple Object Access Protocol,简称SOAP)。

REST:表述性状态传递(英文:Representational State Transfer,简称REST)。

REST是比SOAP更简单的一个Web应用可选方案。

REST是一种面向资源的架构风格,强调描述应用程序的事物和名词。

  • Representational :表述性,REST资源可以使用各种不同的形式进行表述,如XML,JSON,HTML;
  • State:状态,使用REST的时候,我们关注的是资源的状态,而不是行为;
  • Transfer:转移,REST的资源,通过某种形式的表述,在应用之间传递转移。

简洁地说,REST就是将资源的状态,以最合适客户端或服务器的表述方式,在服务器与客户端之间转移。

REST与HTTP方法:

URL:REST中,资源通过URL定位和识别。虽然没有严格的URL格式定义,但是一个URL应该能识别资源,而不是简单的一个命令。因为REST的核心是资源,而不是行为。

行为:REST中也有行为,但是不是在URL中体现,一般通过HTTP行为来定义,例如CRUD

  • Creat:POST
  • Read:GET
  • Update:PUT/PATCH
  • Delete:Delete

最佳实践

RESTful API的设计实践

猜你喜欢

转载自www.cnblogs.com/LiveYourLife/p/10529866.html
今日推荐