RESTful接口协议
聚合统计的接口,接口URL该怎么定义?
在RESTful规范下,设计一个提供订单按照分类聚合统计的接口
1.基于资源的扩展子路径
GET /orders/statistics- 语义:获取订单的统计信息(默认按分类聚合)。
- 可通过查询参数指定统计维度,例如:
GET /orders/statistics?groupBy=category:按分类统计订单。GET /orders/statistics?groupBy=status:按状态统计订单。
2.明确分类聚合功能
GET /orders/aggregation- 语义:针对订单进行聚合统计。
- 查询参数可指定具体的聚合维度:
GET /orders/aggregation?groupBy=category:按分类聚合统计订单。GET /orders/aggregation?groupBy=region:按地区聚合统计订单。
3.分类统计作为特定子资源
GET /orders/statistics/categories- 语义:专门针对订单分类进行统计。
- 如果需要更多动态维度的统计,可以结合查询参数:
GET /orders/statistics/categories?groupBy=status:按分类和状态联合统计。
最佳实践
[OpenAPI类型]/[模块]/{[子模块]/}「[版本]/[资源]/[资源ID/唯一标识]/[属性/动作/形容]」bash
GET open/system/open-api/v1/users/-/exist
POST open//system/open-api/v1/user-routes/qing-liu
DELETE open/system/open-api/v1/users/--: 用来表示 [资源ID/唯一标识] 的任意匹配,条件放在query string当中
| GET [资源ID/唯一标识]/-/exist | 判断是否存在 | |
| POST [资源ID/唯一标识]/渠道 | 通过某个渠道新增 | |