本文包含以下内容:
- 关于API设计的一些总计
设计基础
理解设计稿原型
设计稿原型清楚的展现了需要怎样的数据,了解需求,才能正确的抽象数据模型给客户端
弄清数据库表结构
在进行接口设计之前,数据库定义应该是已经确定的,从 view-api-db 的模型中,api不仅仅需要关注需要什么数据,还需要关注这些数据怎么获取,怎么联合组织
了解页面、模型之间的关联
理清当前模块共有多少个入口,有哪些入口,又会去往哪些模块、页面,这些模块页面之间又会涉及哪些数据关联,哪些数据传递,哪些数据必须,哪些非必须。
设计原则
职责明确
一个接口需要对应到具体的或者特定的业务功能,服务对象明确
功能完整
包含完整的业务功能,对应到具体的用例,有完整的生命周期。
粒度适中
不能总考虑通用接口,尽量把接口拆细,要保持业务的独立性,职责单一化,而不是多职能接口。
风格统一
包括接口设计风格、入参设计及风格、返回值设计及风格。
向下兼容
接口修改,字段修改,在接口没有废除的情况下应该都应向下兼容。
命名原则
明确表现接口职能
即使没有注释,也要通过命名一眼看出接口是用来做什么的,如『getA』『deleteB』
最好能反映出返回值的类型
在接口命名中最好能反映返回类型,如Map、List
动宾、驼峰
动宾命名,驼峰命名,动词表现操作类型,放在最前面
其他注意事项
- 拼写要准确,单词拼错了很尴尬
- 时态要准确,过去式、进行时等也能表现接口含义,反映接口智能,需要写对
- 避免生僻单词,易读就好
- 避免非常规缩写,比如 count->cnt
- 接口中不宜出现枚举,尤其对于变化频率较高的枚举,如果修改或者删除任意枚举值,都可能导致序列化异常