restful:representational state transfer
简单理解:
1 url代表一种资源
2 客户端通过http的get/post/put/delete实现资源表现层状态的转化
6大原则:
1 c-s架构:实现客户端服务端完全解耦
2 无状态:服务端无状态
3 统一api:api命名规范统一
4 统一格式:api的响应格式统一,状态码统一,如全是json格式
5 可缓存:客户端可以进行缓存,减少交互开销
6 按需编码:可选项,可定制代码,这点不是很重要
最佳实践:
1 url中带版本:例如api/v1
2 参数命名规范:例如sort=login_desc
3 url命名规范:牢记url代表一种资源,不当例子:/getUser
4 统一返回格式
5 规范http状态码:
1**:请求未成功
2**:请求成功
3**:重定向
4**:客户端请求错误
5**:服务端处理错误
6 合理请求参数
7 复杂请求参数简化,可以将请求参数适当放入url中