RESTful API风格

63 阅读1分钟

REST是什么?

REpresentational State Transfer
是一种网络软件架构风格

怎样做

1、以资源为中心
2、充分利用HTTP现有功能,如动词、状态码、头部字段

举例

例1:

请求1、创建 item
POST /items
Content-Type: application/json
消息体 {"id":1,name:"item"}
响应 {"resource":{...}}//{"errors":{...}}
请求2、创建item
POST /items
Content-Type: application/x-www-form-urlencoded
消息体 id=1&&name=item

例2:

请求:更新item
PATCH /items/1
Content-Type: application/json
消息体 {"id":11,name:"item1"}
反风格:
POST /modify_item?id=1

例3:

请求:删除item
DELETE /items/1
反风格:
POST /remove_item?id=1

例4:

请求:获取一个或多个item
GET /items/1
GET /items?page=1&per_page=10
GET /users/1/items
GET /items?user_id=2
GET /items/?tags_id=1,2
GET /items/search/1

REST 风格总结

1、尽量以资源为中心
2、尽量使用HTTP现有功能
3、可以适当违反规则