快速建站平台,网站后台模板 免费,仿做唯品会网站,企业管理咨询服务公司接口设计
接口要注意拓展性#xff0c;设计得灵活一些#xff0c;应对业务的变化。字段尽量不要耦合在一起。接口尽量通用。能调用一次完成的#xff0c;不用调用两次。网络IO是很慢的。接口的字段#xff0c;尽量少一些#xff0c;字段越多#xff0c;越混乱#xff0…接口设计
接口要注意拓展性设计得灵活一些应对业务的变化。字段尽量不要耦合在一起。接口尽量通用。能调用一次完成的不用调用两次。网络IO是很慢的。接口的字段尽量少一些字段越多越混乱越难联调。能批量处理尽量批量处理。如果不存在依赖关系能异步处理尽量异步处理。状态变量尽量不要连续比如1234可以用10,20,30方便在中间新增状态变量。常用的接口功能一般有查询(列表)新增修改删除详情导入导出。 查询列表页接口不要跟详情页接口用同一个。
代码规范
下载代码规范插件Alibaba Java Coding Guidelines 。遵循《阿里巴巴java开发手册》。下载代码检查插件SonarLint。
日志 关键的入参最好打印日志否则出了问题很难定位。 关键的方法在结束前可以打印日志。方便定位问题。 异常日志最好打印出异常的方法栈以及对应的参数能够还原现场定位问题。 日志的级别要明确。关键的日志用 info级别调试的日志用 debug 级别错误日志用 error 级别。 特殊的if else分支可以用warn(比如判断用户id为空之类)。
分层
根据不同的项目使用 Controller-Service-Dao 或者 Controller–Service–Manager–Dao。
Manager层是通用的数据库CRUD(增删改查)而Service层则是由多种CRUD构成的业务逻辑。
对象参数 入参用 DTO出参用 VO数据库对应的用 Entity或者DO。 参数如果有很多个最好封装成对象。 VO对象哪怕是没有值的属性最好也设置一个值否则前端获取到对象后还得判断是否存在对应的属性。
参数校验
参数是否必需缺少参数要提示。字符串参数是否可以为 null是否可以为空字符串Integer参数能否为 null能否为空
异常处理 异常处理返回用户能理解的异常提示。 如果有统一异常处理最好如果没有在控制层要处理好异常。
面向对象
面向对象编程和面向对象设计的五个基本原则。 Single Responsibility Principle单一职责原则 Open Closed Principle开闭原则 Liskov Substitution Principle里氏替换原则 Interface Segregation Principle接口隔离原则 Dependency Inversion Principle依赖倒置原则
详情见 https://blog.csdn.net/Taobaojishu/article/details/114313082
单元测试
最好写下单元测试尽量提高覆盖率减少线上问题。
在做重构的时候有单元测试可以测试不用担心重构出错。 线上出现问题可以通过单元测试用例快速测试。
对接第三方系统
对接第三方系统往往会比较耗时。在初次查询第三方系统后可以考虑能否做缓存处理、或者本地数据表存储。对接第三方系统关键的地方最好记录日志。
接口性能优化
详情见https://blog.csdn.net/sinat_32502451/article/details/133053399