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、可以适当违反规则