关于API设计的一些总结

本文包含以下内容:

  • 关于API设计的一些总计

设计基础

  1. 理解设计稿原型

    设计稿原型清楚的展现了需要怎样的数据,了解需求,才能正确的抽象数据模型给客户端

  2. 弄清数据库表结构

    在进行接口设计之前,数据库定义应该是已经确定的,从 view-api-db 的模型中,api不仅仅需要关注需要什么数据,还需要关注这些数据怎么获取,怎么联合组织

  3. 了解页面、模型之间的关联

    理清当前模块共有多少个入口,有哪些入口,又会去往哪些模块、页面,这些模块页面之间又会涉及哪些数据关联,哪些数据传递,哪些数据必须,哪些非必须。

设计原则

  1. 职责明确

    一个接口需要对应到具体的或者特定的业务功能,服务对象明确

  2. 功能完整

    包含完整的业务功能,对应到具体的用例,有完整的生命周期。

  3. 粒度适中

    不能总考虑通用接口,尽量把接口拆细,要保持业务的独立性,职责单一化,而不是多职能接口。

  4. 风格统一

    包括接口设计风格、入参设计及风格、返回值设计及风格。

  5. 向下兼容

    接口修改,字段修改,在接口没有废除的情况下应该都应向下兼容。

命名原则

  1. 明确表现接口职能

    即使没有注释,也要通过命名一眼看出接口是用来做什么的,如『getA』『deleteB』

  2. 最好能反映出返回值的类型

    在接口命名中最好能反映返回类型,如Map、List

  3. 动宾、驼峰

    动宾命名,驼峰命名,动词表现操作类型,放在最前面

其他注意事项

  • 拼写要准确,单词拼错了很尴尬
  • 时态要准确,过去式、进行时等也能表现接口含义,反映接口智能,需要写对
  • 避免生僻单词,易读就好
  • 避免非常规缩写,比如 count->cnt
  • 接口中不宜出现枚举,尤其对于变化频率较高的枚举,如果修改或者删除任意枚举值,都可能导致序列化异常