背景
前端和 BFF 的协作常见问题:
- 字段命名不统一
- 可空语义不一致
- 线上响应结构和文档不一致
契约化思路
- 以 schema 为单一事实来源
- 前后端共享类型生成
- 关键接口做契约测试
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}`)
}
总结
契约稳定之后,联调成本会明显下降。
接口变更可追踪,线上兼容风险也更低。
协作效率的上限,通常由契约清晰度决定。