我的API的方法论总结笔记
2022-08-05 17:25:33 19 举报
AI智能生成
登录查看完整内容
我的API的方法论总结笔记
作者其他创作
大纲/内容
增加 save/add
删除 delete/delete-all
修改 update/update-batch
分页 list/page
搜索查询 get/getxxx/get-mini
查询
URL请求采用小写字母,数字,部分特殊符号(非制表符)组成。
URL请求中不采用大小写混合的驼峰命名方式,尽量采用全小写单词,如果需要连接多个单词,则采用连接符“-”连接单词
命名
分级
场景1.URL的设计
场景2.不要使用put/delete等http请求参数
4.最佳实践
系统ID(请求唯一标识)
sid
token
sign
unioncode
每个API请求 header区
sid 系统ID(请求唯一标识)
time 耗时,单位:毫秒
code 响应码,200=成功,500=系统错误,401=未登录,403=无权限,404=未找到资源,601=入参校验异常,999=业务异常
status:true/false 响应状态,code=200时值为true,非200时值为false
message 如:操作成功
data 响应的返回对象
extraData
每个API响应
200 success
401 Unauthorized
402 Forbidden
404 Not Found
500 系统错误
502 网关异常
状态码
API接口的统一性
1.用中杠-不用下杠_;
2.参数列表要encode;
3.URI中的名词表示资源集合,使用复数形式。
4.URL层级不宜过深
5.查询/分页查询
URL的设计
3.如何设计API
RESTful API
RPC API
GraphQL
通常是请求处理层传输的对象
VO
与数据库表结构一一对应
DO
它是 RPC 服务提供的领域模型
DTO
它是业务逻辑层封装业务逻辑的对象
BO
Bean
1.业界标准
接口url版本化
探讨 API 接口的兼容性
查询接口:提供的字段在数据库建立索引
API接口的性能
跨应用 RPC 调用优先考虑使用 isSuccess() 方法、“错误码”、“错误简短信息”
RPC
使用WEB Controller Advice 建立全局的统一异常拦截返回封装
RESTFul
API接口的异常处理
重复提交或服务端的多次重试只会产生一份结果
什么是幂等性
并不是所有的接口都要保证幂等
为什么要幂等
1.唯一索引,防止新增脏数据
2.token机制,防止页面重复提交
3.悲观锁 获取数据的时候加锁获取
4.乐观锁 乐观锁只是在更新数据那一刻锁表,其他时间不锁表,所以相对于悲观锁,效率更高
5.分布式锁
6.select + insert 并发不高的后台系统
7.保证了有限状态机的幂等
8.对外提供接口的api如何保证幂等 提供入参unionId先查后写.
如何实现幂等
全局锁 例如悲观锁与乐观锁保证数据的唯一性
并发场景
API接口的幂等性
开发内部:前端/后端/移动端统一一个约束文档就行
没必要为了遵循所谓的规范让其他人增加过多的学习成本.
没有100%正确答案
2.原则有哪些
写好API的方法论
0 条评论
回复 删除
下一页