接口设计,是前后端的“契约”

接口定得好,前后端各写各的也顺;定得随意,联调就是噩梦。规范、稳定、文档化,是好 API 的三要素。

5HTTP 方法
3版本策略
1份契约文档
RESTful API 实战
API 设计

REST 的核心:把资源建模好

RESTful 把一切视为资源,用 URL 定位资源、用 HTTP 方法表达操作(GET/POST/PUT/DELETE)。资源建模得好,接口自然清晰、可预测。

相比“动作式接口”(/getUser),资源式接口(/users/1)更规范、更利于复用与演进。

  • 资源与 URL 设计规范
  • HTTP 方法与状态码语义
  • 分页、过滤、排序的标准方式
  • 版本管理与文档化

设计原则:URL 只描述资源,方法表达动作;返回结构统一,错误信息可读。

API 设计要点

把接口做规范的关键。

🗂️

资源设计

名词化、层级化、可预测。

📡

状态码语义

2xx/4xx/5xx 正确表达。

📄

分页过滤

统一的分页与筛选参数。

🔖

版本管理

向后兼容的演进策略。

📖

接口文档

OpenAPI 自动生成文档。

🧪

接口测试

契约测试与自动化验证。

API 设计落地流程

从需求到契约。

  1. 01

    梳理资源

    识别业务实体与操作,确定资源边界与关系。

  2. 02

    设计接口

    定义 URL、方法、请求响应结构、错误格式。

  3. 03

    文档化

    用 OpenAPI 描述接口,自动生成可交互文档。

  4. 04

    测试与演进

    接口测试 + 契约测试,版本演进保持兼容。

HTTP 方法与语义

规范使用 HTTP 方法。

方法语义是否幂等
GET读取资源是
POST创建/处理否
PUT整体更新是
PATCH部分更新是
DELETE删除是

API 设计高频问题

接口版本怎么管理?

常用方案:URL 路径版本(/v1/users)、请求头版本。选择一种统一用,重大变更升版本,保持向后兼容。

错误信息怎么返回才友好?

统一错误结构:code、message、details,配合合适的状态码。让前端能区分“参数错/未授权/不存在”。

什么时候用 GraphQL 不用 REST?

前端取数需求多变、字段裁剪要求高的场景,GraphQL 更灵活;常规 CRUD 用 REST 更简单。

接口文档谁维护?

用 OpenAPI 从代码生成,避免文档与实现脱节。文档即契约,测试与联调都基于它。

接口设计想更规范?

接口设计想更规范?

把现有接口或设计诉求发给我们,我们帮你做 RESTful 规范梳理与文档化方案。