A backend-for-frontend (BFF) is an experience API that aggregates and optimizes business APIs for a specific consumer, such as a mobile application or website. The consumer team usually manages it, keeping consumer needs separate from system-level complexity. section 13.8
Adapting a banking API
A legacy banking application can send POST but not PATCH. A BFF can transform its POST-only request for transfer updates. Before adding a consumer-specific layer, compare broader solutions: PUT may replace PATCH, while X-HTTP-Method-Override can represent PATCH or DELETE through POST. section 14.2.1
Use the pattern deliberately:
- Choose GraphQL when its specific capabilities provide value beyond a well-designed REST API over HTTP/2. section 14.8.2
- Control layer boundaries and duplication; uncontrolled growth can make a distributed system inefficient, brittle, and difficult to maintain. section 13.8



