API Academy
🌐 English
  • 🌐 English
  • 🌐 繁體中文
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 English
  • 🌐 English
  • 🌐 繁體中文
🌐 English
  • 🌐 English
  • 🌐 繁體中文
  1. API Gateway
  • Introduction
  • Table of Contents
  • API Academy
    • Get Started
      • What is an API?
      • How Does an API Work?
      • How to Call an API?
      • How to Read an API Documentation?
      • Chapter Summary
      • Get realtime weather
    • API Fundamentals
      • API Funtamentals: Overview
      • Method & Path
      • Parameters
      • Request Body
      • Responses
      • API Specification & OAS
      • Chapter Summary
    • Working with APIs
      • Working with APIs: Overview
      • Making Requests from Spec
      • Environments and Variables
      • Chaining Multiple Endpoints
      • Handling Authentication
      • Handling API Signatures
      • Introduction to Scripts
      • Chapter Summary
    • Mocking APIs
      • Mocking APIs: Overview
      • Smart Mock
      • Mock Expectations
      • Cloud Mock
      • Mock Scripts
      • Chapter Summary
    • Designing APIs
      • Designing APIs: Overview
      • Introduction to API Design
      • Creating Your First API Project
      • Analyzing Requirements and Planning Your API
      • Designing Data Models
      • Designing Endpoints
      • Using Components and Reusability
      • Setting Up Authentication
      • API Design Guidelines
      • Chapter Summary
    • Developing APIs
      • Developing APIs: Overview
      • Setup: Install Your AI Coding Assistant
      • Quick Start: From Spec to Running API in 30 Minutes
      • Understanding the Generated Code
      • Testing Your API with Apidog
      • Deployment: Put Your API Online
      • Chapter Summary
    • Testing APIs
      • Testing APIs: Overview
      • Getting Started: Your First Test Scenario
      • Integration Testing and Data Passing
      • Dynamic Values
      • Assertions and Validations
      • Flow Control: If, For, ForEach
      • Data-Driven Testing
      • Performance Testing
      • Test Reports and Analysis
      • CI/CD Integration
      • Scheduled Tasks and Automation
      • Advanced Testing Strategies
      • Chapter Summary
    • API Documentations
      • API Documentations: Overview
      • Publishing Your First API Doc
      • Customizing Documentation Appearance
      • Interactive Features for Consumers
      • Advanced Publishing Settings
      • Managing API Versions
      • Chapter Summary
    • Advanced API Technologies
      • API Technologies: Overview
      • GraphQL
      • gRPC
      • WebSocket
      • Socket.IO
      • Server-Sent Events (SSE)
      • SOAP
      • Chapter Summary
    • API Lifecycle
      • API Lifecycle: Overview
      • Stages of the API Lifecycle
      • API Governance
      • API Security Best Practices
      • Monitoring and Analytics
      • API Versioning Strategies
      • The Future of APIs
      • Chapter Summary
    • API Security
      • API Security: Overview
      • API Security Fundamentals
      • Authentication vs Authorization
      • Understanding OAuth 2.0 and OpenID Connect
      • JSON Web Tokens (JWT)
      • OWASP API Security Top 10
      • Encryption and HTTPS
      • Chapter Summary
    • API Tools
      • API Tools: Overview
      • The Evolution of API Tools
      • API Clients
      • Command Line Tools (cURL, HTTPie)
      • API Design and Documentation Tools
      • API Mocking Tools
      • API Testing Tools
      • All-in-One API Platforms
      • Chapter Summary
    • API Gateway
      • API Gateway: Overview
      • What is an API Gateway?
      • Key Features of API Gateways
      • API Gateway vs Load Balancer vs Service Mesh
      • Popular API Gateway Solutions
      • The BFF (Backend for Frontend) Pattern
      • Chapter Summary
  • Modern Pet Store
    • Pet
      • Get Pet
      • Update Pet
      • Delete Pet
      • Create Pet
      • List Pets
      • Upload Pet Image
    • User
      • Update User
      • Get User
      • Delete User
      • Login
      • Logout
      • Create User
    • Store
      • List Inventory
      • Create Order
      • Get Order
      • Delete Order
      • Callback Example
      • Pay for an Order
    • Payments
      • Pay Order
    • Chat
      • Create Chat Completion
    • Webhooks
      • Pet Adopted Event
      • New Pet Available Event
  • Schemas
    • Pet
    • Category
    • User
    • ApiResponse
    • OrderPayment
    • Tag
    • Order
    • Links-Order
    • PetCollection
    • Bank Card
    • Bank Account
    • Links
    • Error
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 English
  • 🌐 English
  • 🌐 繁體中文
🌐 English
  • 🌐 English
  • 🌐 繁體中文
  1. API Gateway

The BFF (Backend for Frontend) Pattern

As systems grow, a "One Size Fits All" API Gateway can become a bottleneck. The BFF (Backend for Frontend) pattern offers a solution for complex multi-client applications.

The Problem: Diverse Clients#

Imagine you have two clients:
1.
Mobile App: Needs small payloads (to save data/battery). Needs to display a simple "Order Summary".
2.
Web Dashboard: Needs huge payloads (bandwidth is cheap). Needs to display a complex "Order History with Analytics".
If you have a single General Purpose API /orders, you have to compromise:
Either you send too much data to Mobile (bloat).
Or you send too little to Web (forcing it to make 10 extra calls).

The Solution: A Dedicated Backend per Frontend#

Instead of one General API Gateway, you create specific entry points (BFFs) for each client type.
Mobile BFF: Calls the underlying microservices (User, Order, Inventory), stitches the data into a compact JSON specifically designed for the iOS screen, and sends it back.
Web BFF: Calls the same microservices, but aggregates detailed data specifically for the Desktop view.

Benefits#

1.
Optimized Experience: The API matches the UI requirements perfectly. No over-fetching or under-fetching.
2.
Team Autonomy: The Mobile Team can write their own BFF code (e.g., in Node.js) to format data exactly how they want, without waiting for the Backend Team to change the core microservices.
3.
Encapsulation: If the Mobile App requires a specific legacy authentication flow, it stays in the Mobile BFF, not pollution the core system.

Comparison#

Direct Approach: Mobile -> Microservices (Bad: tight coupling).
Gateway Approach: Mobile -> Gateway -> Microservices (Better: single entry).
BFF Approach: Mobile -> Mobile BFF -> Microservices (Best for complex APIs).

When to use BFF?#

When you have multiple different client types (Mobile, Web, TV, Watch) with drastically different data needs.
When your UI teams are blocked by Backend teams.

Key Takeaways#

One-Size-Fits-All APIs often lead to over-fetching on mobile or under-fetching on web.
BFF creates a dedicated API layer for each specific user interface, optimizing performance and developer autonomy.
Next Step: That wraps up the Gateway chapter! Let's review everything in the Chapter Summary.
Modified atΒ 2025-12-29 04:29:59
Previous
Popular API Gateway Solutions
Next
Chapter Summary
Built with