SSP Better Stack
Web 应用

API 与 BFF 边界

让浏览器、Embedded BFF 和业务服务各自只承担明确职责。

浏览器负责

交互状态、展示、可访问性、用户输入和对已声明 Contract 的调用。不要在浏览器复制权限判定或核心业务规则。

Embedded BFF 可以负责

  • 服务器侧凭据和 cookie 处理。
  • 面向页面的请求聚合与响应整形。
  • 协议适配、缓存和安全 header。

它不应创建新的业务事实、成为业务数据 owner,或在没有 Policy owner 的情况下决定授权。

每个请求都要覆盖

CaseUI behaviorContract evidence
successrender stable resultresponse schema
emptyexplicit empty stateempty semantics
validation errorfield/action feedbackerror code mapping
unauthorizedstop and explain next actionauth policy case
dependency failurerecover or retry safelytimeout/error contract

如果 UI 需要猜错误含义,先修 Contract,不要在组件里堆字符串判断。

本页目录