Skip to content

简介

  • 规范接口请求方式,是一种架构风格,不是框架。

说明

  • 每一个 URI 代表一种资源

  • 客户端和服务器之间,传递这种资源的某种表现层

  • 客户端通过 HTTP 请求方式(GET、POST、PUT、PATCH、DELETE),对服务器端资源进行操作,实现"表现层状态转化"

设计原则

路径名称避免动词

bash
# Good
curl -X GET http://httpbin.org/orders

# Bad
curl -X GET "http://httpbin.org/getOrders"

URI 使用复数形式

  • 若使用单数的形式来表示获取某一类资源,例如:
bash
curl -X GET "http://httpbin.org/order"
  • 使用单数形式,会使用户产生该系统中只有一个 order 的困惑,用复数形式在逻辑上则顺畅很多。
bash
curl -X GET "http://httpbin.org/orders"

请求标准

客户端通过 HTTP 请求方式(GET、POST、PUT、PATCH、DELETE),对服务器端资源进行操作,实现"表现层状态转化"。

GET 获取资源(常用)

bash
# 代表获取当前系统的所有订单信息
curl -X GET http://httpbin.org/orders

# 代表获取订单编号为 1 的订单详情信息
curl -X GET http://httpbin.org/orders/1

POST 创建资源(常用)

bash
# 代表创建一个名称为 order 的资源
curl -X POST http://httpbin.org/orders \
  -d '{"name": "awesome", region: "A"}'

PUT 更新资源(常用)

bash
# 代表将 id 为 1 的 order 进行数据替换
curl -X PUT http://httpbin.org/orders/1 \
  -d '{"name": "new awesome", region: "B"}'

PATCH 更新部分资源(不常用)

bash
# 代表将 id 为 1 的 order 中的 region 字段进行更改,其他数据保持不变
curl -X PATCH http://httpbin.org/orders/1 \
  -d '{region: "B"}'

DELETE 删除资源(常用)

bash
# 代表将 id 为 1 的 order 删除
curl -X DELETE http://httpbin.org/orders/1

# 批量删除
curl -X DELETE http://httpbin.org/orders
  -d '{"id": [1,2,3]}'