restful API 架构风格理解
API 主要从3方面来定义
1、资源版本兼容定义
2、资源模块定义(允许多层模块)
3、动作定义(delete/update/save 等)
例如 设计订单 CRUD restful 风格API
第一版本:
域名是 https://www.daixb.com
手机APP 设计一套接口
1、创建订单
https://www.daixb.com/app/order/v1//create
2、修改订单
https://www.daixb.com/app/order/v1/update
3、删除订单
https://www.daixb.com/app/order/v1/order/delete
4、查询订单
https://www.daixb.com/app/order/v1/order/query
app 代表 提供给手机应用的接口规范
order 代表业务模块
v1 代表 接口版本(升级 改 v1 )
query 或者delete 代表业务模块里面的真实动作
web接口也是参考这样设计的
总之一句话: restful API 风格就是资源模块的划分(面向业务场景面向应用划分),更好的维护资源、应用升级 、提升服务的性能(网络资源消耗等)
服务端向用户返回结果规范:
【GET】 /{version}/{resources}/{resource_id} // 返回单个资源对象
【GET】 /{version}/{resources} // 返回资源对象的列表
【POST】 /{version}/{resources} // 返回新生成的资源对象
【PUT】 /{version}/{resources}/{resource_id} // 返回完整的资源对象
【PATCH】 /{version}/{resources}/{resource_id} // 返回完整的资源对象
【DELETE】 /{version}/{resources}/{resource_id} // 状态码 200,返回完整的资源对象。
// 状态码 204,返回一个空文档