22条API设计的实践
2022-02-14 14:16:57 0 举报
AI智能生成
22条API设计的实践
作者其他创作
大纲/内容
第一部分
1、对URL使用kebab-case(短横线小写隔开)
/system-orders
2、参数使用camelCase(驼峰形式)
/system-orders/{orderId}
3、指向集合的复数名称
/users
4、URL以集合开始,以标识符结束
/shops/:shopId/
5、让动词远离你的资源URL
PUT /user/{userId}
第二部分
6、对非资源URL使用动词
POST /alarm/245743/resend
7、JSON属性使用camelCase驼峰形式
8、监控
/health
/version
/metrics
9、不要使用table_name作为资源名
product_order -> product-orders
10、使用API设计工具
swagger...
第三部分
11、使用简单序数作为版本
/v1/shops/3/products
12、在你的响应体中包括总资源数
13、接受limit和offset参数
GET /shops?offset=5&limit=5
14、获取字段查询参数
GET /shops?fields=id,name,address,contact
15、不要在URL中通过认证令牌
Authorization: Bearer xxxxxx, Extra yyyyy
16、验证内容类型
content-type: application/json
第四部分
17、对CRUD函数使用HTTP方法
GET:检索资源的表示形式
POST:创建新的资源和子资源
PUT:更新现有资源
PATCH:更新现有资源,它只更新提供的字段
DELETE:删除已存在的资源
18、在嵌套资源的URL中使用关系
GET /shops/2/products:从shop 2获取所有产品的列表
GET /shops/2/products/31:获取产品31的详细信息,产品31属于shop 2
19、CORS(跨源资源共享)
支持CORS允许的“*”来源
20、安全
强制并要求所有回调url、推送通知端点和webhooks使用HTTPS
21、错误
服务器能响应客户端的各种错误
22、黄金法则
扁平比嵌套好
简单胜于复杂
字符串比数字好
一致性比定制更好
0 条评论
下一页