接口设计规范

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 接口设计规范

基本原则

  • 单一职责:一个接口只做一个行为,避免大而全的接口,避免出现根据入参控制接口行为的情况,这种情况需要拆分为多个接口,实现内部可以再进行抽象封装
  • 性能:基于性能考虑,可以基于业务场景封装多个原子接口例如上层需要获取3个以上的接口进行组装数据,可以提供一个封装后的接口,减少性能损耗
  • 事务统一:一个事务内的操作在一个接口内,尽量不要使用分布式事务
  • 通用性:接口要具有一定的通用性,避免频繁的修改

命名和注释规范

  • 接口命名要具有明确业务含义
  • 清晰易懂,避免无意义的英文缩写和拼音
  • 接口的javadoc上必须添加注释
  • 基本命名规范:动作+业务含义
  • create-新增
  • add-添加
  • remove-移除
  • modify-修改
  • query-查询单个接口
  • queryxxxList-查询列表
  • queryxxxPage-分页查询

参数规范

  • 入参使用封装类,不要直接使用基本类型,避免接口后续扩展报错
  • 入参不能使用java基础类型,必须使用包装类型,避免接口升级报错
  • 入参的参数校验通过javax.validation注解实现
  • 出参统一使用ResultDTO,包含code、message和data
  • 出参不能直接返回领域对象,必须定义DTO进行返回,避免后续领域对象变更影响接口

异常规范

  • 接口异常统一拦截返回ResultDTO,避免抛出异常
  • 异常内容必须包含明确的errorCode和errorMsg
  • 异常详细信息返回给客户端

日志规范

  • 对外暴露的接口必须记录请求日志
  • 异常请求必须打印日志
  • 日志包含完整的请求参数、时间、异常详细信息

版本控制

  • 接口升级和修改,需要兼容老版本
  • 老版本接口标识为@Deprecated,在下次变更时及时删除无用接口

稳定性控制

  • 接口需要自我保护,通过限流和熔断避免系统压力较大造成服务报错
  • 幂等设计,对于写接口需要考虑幂等,避免重复数据写入
  • 批量接口设计
  • 提供的批量接口需要评估应用性能,设置合理的最大限制,或者内部拆分为小批量数据处理
  • 在接口注释中说明接口耗时情况,避免客户端耗时设置较短报错
  • 设置合理的限流阈值,避免应用崩溃
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
SQL 前端开发 安全
详细介绍前后端分离必备的接口规范,包括命名规范、参数规范、错误处理规范等
详细介绍前后端分离必备的接口规范,包括命名规范、参数规范、错误处理规范等
3551 1
|
JSON 负载均衡 前端开发
一文带你详细了解Open API设计规范
一文带你详细了解Open API设计规范
8682 1
|
JSON JavaScript 前端开发
Controller 层编码规范
Controller 层编码规范
|
存储 设计模式 人工智能
规范:前端代码开发规范
规范:前端代码开发规范
2120 0
|
安全 API 数据安全/隐私保护
API 接口设计规范
API 接口设计规范
797 10
|
存储 SQL 关系型数据库
数据库开发设计规范(通用)
数据库开发设计规范(通用)
2211 0
|
JSON 安全 API
11条军规,让你的接口设计无可挑剔
后端工程师需重视接口设计,提供清晰规范的接口文档以节省合作时间,避免纠纷。关键点包括:1) 接口名称应直观明了;2) 接口路径规整,能反映接口功能;3) 使用恰当的请求方式(GET, POST, PUT, PATCH, DELETE);4) 提供详细接口说明和示例;5) 实施接口版本管理,更新文档以适应变更;6) 明确请求头信息;7) 关注接口安全,进行参数加密和授权;8) 编写测试案例和错误码定义,方便调用者理解和测试。
520 0
11条军规,让你的接口设计无可挑剔
|
JSON 前端开发 测试技术
接口设计规范
该文档介绍了需求分析和接口设计的步骤。首先,通过原型文档和PRD理解业务需求,如有必要需与产品经理深入沟通。其次,设计接口时需考虑四要素:请求路径(按模块命名,英文)、请求方式(GET, POST, PUT, DELETE,遵循RESTful风格)、请求参数(路径参数和请求体参数)和响应参数(统一格式,通常包含状态码、消息和数据)。最后,提到了接口测试,推荐使用Postman、Apifox、Swagger或Knife4j等工具进行测试。
488 5
|
存储 Java 测试技术
阿里巴巴java开发手册
这篇文章是关于阿里巴巴Java开发手册的整理,内容包括编程规约、异常日志、单元测试、安全规约、MySQL数据库使用以及工程结构等方面的详细规范和建议,旨在帮助开发者编写更加规范、高效和安全的代码。
|
存储 设计模式 Java
阿里官方代码规范
这篇文章详细介绍了阿里巴巴官方的代码规范,包括命名规则、常量使用、方法覆写、并发处理、注释规范、数据库设计等多个方面,旨在提高代码的可读性、维护性和扩展性。