烦恼一般都是想太多了。

0%

了解REST

REST (Representational State Transfer)是一个设计分发系统时的架构风格。其不是标准,而只是一系列的约束,比如是无状态的,客户端/服务端关联,以及一个接口。REST并不是严格的与HTTP有关系,但这是最常见的情况。

原则

  • Resource :这个表示易于理解和目录结构或者 URIs。
  • Representations:传输 XML、JSON数据来代表对应的对象或者属性
  • Messages:显式的使用HTTP方法。
  • Stateless:在请求之间,服务器并不会存储客户端的上下文。状态依赖会限制伸缩性。客户端来保存会话状态。

HTTP方法

使用 HTTP方法来 映射 CRUD(create, retrieve, update, delete)操作到HTTP请求。

GET

获取信息。GET 请求必须是安全的,幂等的,意思就是无论以同样的参数重复多少次,这个结果应该是一样的。他们可能会有副作用,但是用户并不期望,所以对于系统的操作来说是他们并不是严重的。请求也可能是局部的或者有条件的:

GET /addresses/1

POST

请求对于URI处的资源根据提供的实体做一些事情。通常,POST用来创建新的 实体,也可以用来更新。

POST /addresses

PUT

存储一个实体到对应的URI。PUT可以建立一个新实体或者更新一个实体。一个PUT请求是幂等的。幂等是 PUT 与POST主要不同。

PUT /addresses/1

PUT 会替换一个已存在的实体。如果只有数据元素的子集被提供,那么其他的就会被替换为null。

HTTP status codes

Status codes indicate the result of the HTTP request.

  • 1XX - informational
  • 2XX - success
  • 3XX - redirection
  • 4XX - client error
  • 5XX - server error