1. 建议使用 api 作为上下文
http://www.codingos.com/api
或者
http://api.codingos.com
2. 增加一个版本标识
http://www.codingos.com/api/v1
3. 标识资源, 将资源的名称放入URL中, 如果有层级关系, 就放入层级关系
http://www.codingos.com/api/v1/user
或者加入层级关系
http://www.codingos.com/api/v1/system/user
4. 确定 HTTP Method
HTTP Method 对应以下含义
GET: 查询资源
查询所有用户 123
GET http://www.codingos.com/api/v1/system/user/123
查询所有用户
GET http://www.codingos.com/api/v1/system/user
如果查询有翻页或者排序,可以在后面加上offset, limit, sortBy, sortOrder 参数
GET http://www.codingos.com/api/v1/system/user?offset=1&limit=10&sortBy=name&sortOrder=desc
POST: 添加资源
POST http://www.codingos.com/api/v1/system/user
PUT: 修改资源, 客户端需要提供完整的资源属性
更新用户 123
PUT http://www.codingos.com/api/v1/system/user/123
PATCH: 更新资源, 客户端仅提供需要修改的属性
更新用户 123 (仅提供需要修改的属性)
PATCH http://www.codingos.com/api/v1/system/user/123
DELETE: 删除资源
删除用户
DELETE http://www.codingos.com/api/v1/system/user/123
5. 确定 HTTP Status
200 请求成功
400 错误的请求
404 NOT Found, 用户发出的请求资源不存在
500 服务器内部错误
6. SpringBoot 集成 REST
使用 @GetMapping @PostMapping @PutMapping @PatchMapping @DeleteMapping
@RestController @ResponseBody @RequestBody @PathVariable