接口开发注意事项

1. 接口相关

1.1 接口调用失败时的处理方式

  接口调用失败时分为 请求失败业务失败。

  请求失败的相关信息可通过HTTP状态码体现出来,

  业务失败的相关信息需要在返回数据中体现出来。

1.2 分页查询

  批量查询时需要考虑对结果进行分页。

1.3 超时问题

  开发时要考虑接口中是否有耗时操作,根据实际场景评估耗时时间。避免接口调用超时问题。

  常见的耗时操作:IO操作。

1.4 参数校验

  明确定义各个参数的范围边界,做好校验处理;

  基础校验:比如 NULL,空字符串,字符串长短,数值大小等。可用注解校验,或者在controller 层校验;

  业务校验,比如传了用户id要检查该用户是否存在,购买的数量是否超库存。具有业务逻辑的参数在 service 层校验;

  权限校验,比如有没有权限给用户添加订单。可根据具体场景在 filter 或者其他方式校验;

1.5 interface定义

  若某个业务逻辑后续可能会有其他实现方式时,此时需要考虑为这种逻辑操作定义一个通用接口,方便后续功能扩展;

  比如需要将文件保存到本地文件系统,后面是否可能需要支持保存到亚马逊,阿里云这些云存储,此时就可以将通用的文件上传,下载,删除功能定义一个接口;

1.6 异常定义

  定义异常相关的枚举类,方便后续问题定义和对接工作。

2. 工具类

2.1 工具类中的异常问题

  在工具类方法中要么不捕获异常,要么将捕获的异常转为其他形式的异常重新抛出;

  在工具类方法中若发生异常,则表明调用工具方法的方法未对某种异常情况未考虑处理,此时应该将异常暴露出来,方便后续进行修改和完善;

原文地址:https://www.cnblogs.com/virgosnail/p/10538298.html