唯's Blog

笔者是一个热爱编程的 Java 程序员。

0%

API设计评审清单

API 设计评审清单

  • URI 命名是否通过聚合根和实体统一
  • URI 命名是否采用名词复数和连接线
  • URI 命名是否都是单词小写
  • URI 是否暴露了不必要的信息,例如/cgi-bin
  • URI 规则是否统一
  • 资源提供的能力是否彼此独立
  • URI 是否存在需要编码的字符
  • 请求和返回的参数是否不多不少
  • 资源的 ID 参数是否通过 PATH 参数传递
  • 认证和授权信息是否暴露到 query 参数中
  • 参数是否使用奇怪的缩写
  • 参数和响应数据中的字段命名统一
  • 是否存在无意义的对象包装 例如{"data":{}'}
  • 出错时是否破坏约定的数据结构
  • 是否使用合适的状态码
  • 是否使用合适的媒体类型
  • 响应数据的单复是否和数据内容一致
  • 响应头中是否有缓存信息
  • 是否进行了版本管理
  • 版本信息是否作为 URI 的前缀存在
  • 是否提供 API 服务期限
  • 是否提供了 API 返回所有 API 的索引
  • 是否进行了认证和授权
  • 是否采用 HTTPS
  • 是否检查了非法参数
  • 是否增加安全性的头部
  • 是否有限流策略
  • 是否支持 CORS
  • 响应中的时间格式是否采用ISO 8601标准
  • 是否存在越权访问

本文转载自 ThoughtWorks 洞见。

原文链接

API设计的几条原则