背景

前端和 BFF 的协作常见问题:

  • 字段命名不统一
  • 可空语义不一致
  • 线上响应结构和文档不一致

契约化思路

  1. 以 schema 为单一事实来源
  2. 前后端共享类型生成
  3. 关键接口做契约测试
export interface UserProfileDTO {
  id: string
  name: string
  email?: string
  roles: string[]
}

export async function fetchUserProfile(id: string): Promise<UserProfileDTO> {
  return http.get(`/api/users/${id}`)
}

总结

契约稳定之后,联调成本会明显下降。

接口变更可追踪,线上兼容风险也更低。


协作效率的上限,通常由契约清晰度决定。