Representational State Transfer (REST) 是一种软件架构风格,用于设计网络应用程序的接口。RESTful API 是基于 REST 架构风格的 API 设计。

Representational

资源的表现形式,描述数据的数据,元数据。

HTTP 方法

  • GET: 服务端查询数据并返回至客户端
  • POST: 客户端产生数据发送至服务端,服务端新增并保存
  • PUT: 客户端更新服务端资源
  • DELETE: 客户端希望删除服务端的资源

举个例子:

1
2
3
4
5
6
7
8
9
GET    /classes:列出所有班级
POST /classes:新建一个班级
GET /classes/{classId}:获取某个指定班级的信息
PUT /classes/{classId}:更新某个指定班级的信息(一般倾向整体更新)
PATCH /classes/{classId}:更新某个指定班级的信息(一般倾向部分更新)
DELETE /classes/{classId}:删除某个班级
GET /classes/{classId}/teachers:列出某个指定班级的所有老师的信息
GET /classes/{classId}/students:列出某个指定班级的所有学生的信息
DELETE /classes/{classId}/teachers/{ID}:删除某个指定班级下的指定的老师的信息

content-type

描述数据的类型。

  • application/json
  • application/xml
  • text/plain

状态码

  • 200: OK
  • 201: Created
  • 204: No Content
  • 400: Bad Request
  • 401: Unauthorized
  • 403: Forbidden
  • 404: Not Found
  • 500: Internal Server Error
  • 503: Service Unavailable
    -…

State

数据本身,资源。

1
2
3
text="hello world"
json={"name": "John", "age": 30}
xml=<person><name>John</name><age>30</age></person>