标准答案
- 请求和响应字段应使用稳定、可读的业务名称,并明确必填、可选、可空、默认值、格式和取值范围。
- 对象适合表达有名称的属性;数组适合表达同类型有序集合,不应把不同业务含义塞进固定下标让客户端猜测。
- 分页、错误、时间、金额、状态和资源标识应使用统一结构,避免每个接口返回不同命名和类型。
- 新增字段应尽量保持可选和可忽略;客户端也应容忍未知字段、未知枚举和未使用的扩展字段。
- 用 OpenAPI、JSON Schema、类型定义和契约测试把结构变成可验证的协议,而不是散落在口头说明中。
题目解析
字段稳定性不只影响前端。SDK、数据同步、日志分析、缓存和第三方集成都依赖同一份语义,模糊结构会把变更成本扩散到所有调用方。
统一外层 envelope 并非必须,但如果使用,应避免把 HTTP 状态、业务错误和数据层级重复包装得难以阅读。
常见误区
- 用数组下标表达多个不同字段,后续插入字段就破坏所有客户端。
- 把数字、日期和状态有时返回字符串、有时返回对象。
- 把兼容性理解为“服务端返回什么客户端都必须适配”。