侧边栏壁纸
  • 累计撰写 54 篇文章
  • 累计创建 4 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

浅谈防御性编程

当接口返回的数据格式不符合预期时,这是一个典型的接口契约被破坏的场景

处理的核心原则是:前端必须进行防御性编程,确保应用不会崩溃,并给予用户和开发者清晰、友好的反馈。

第一层: 请求与响应的统一拦截

在 fetch 或 axios 的拦截器中,对非 200 状态码、网络错误进行统一处理,并尝试解析响应体。

第二层: 数据结构的契约验证

这是最关键的一步。假设约定接口返回 { code: number, data: T, message: string },但实际返回了纯文本、HTML、或字段缺失的对象。

第三层: 组件层的安全渲染与降级 UI

在最终使用数据的 UI 组件中,必须假设任何字段都可能缺失

第四层: 监控、告警与沟通

前端监控: 在 handleError 函数中,将非预期的格式错误上报到监控平台(如 Sentry),附上接口 URL 和响应片段。

友好用户提示: 向用户展示可操作的提示,而非技术细节。

与后端沟通: 将错误日志和具体接口反馈给后端团队,推动完善接口契约、错误处理与文档。

0

评论区