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 

03-13 02:42