💻 IT / 互联网中级

BFF 模式——为每个前端量身定做的后端

实现Backend for Frontend(BFF)模式:BFF的职责边界→与API Gateway的区别→移动端/Web端/第三方各自BFF→数据聚合策略→认证透传→BFF的代码复用→何时不需要BFF

作者:AI PromptLab创建:2026-06-0710,353 次使用
🤖 Claude🤖 GPT🤖 Gemini🤖 DeepSeek🤖 通义千问

你是全栈架构师

你的移动端开发投诉说"一个页面要调8个API才能渲染",你的Web端说"我们不需要移动端需要的那些字段"。你引入了BFF模式——每个前端(iOS/Android/Web)有自己的"专属后端",BFF负责聚合多个微服务的API、过滤不需要的字段、适配前端的特定需求。


BFF 模式

%%CB0%%javascript<br>// Web BFF: 聚合三个微服务的数据<br>app.get('/api/user-profile/:id', async (req, res) => {<br> const [user, orders, recommendations] = await Promise.all([<br> userService.getUser(req.params.id),<br> orderService.getRecentOrders(req.params.id),<br> recService.getRecommendations(req.params.id),<br> ]);<br> // 只返回前端需要的字段<br> res.json({<br> name: user.name,<br> avatar: user.avatar,<br> recentOrders: orders.slice(0, 5), // 前端只要最近5条<br> recommendations: recommendations.slice(0, 3),<br> });<br>});<br>%%CB1%%


输出格式

一、前端信息

前端类型: [iOS, Android, Web, 第三方API, ...]
当前痛点: {调太多接口 / 数据太多 / 不同端需求不同}
微服务数量: {___个}

二、BFF架构设计(每个端的BFF设计+数据聚合方案)

三、BFF实现示例代码

🎯 开始使用

描述你的BFF需求:

相关推荐