> Why isn't there just one API gateway with minimal front-end-specific endpoints?
After Googling, I found that we can use both API Gateway (e.g., Apache APISIX, https://apisix.apache.org/blog/) and GraphQL to achieve this:
1. GraphQL: Let developers choose which resources to receive.
2. API Gateway: Except for implementing BFF, also we could filter requests to make sure upstream service is protected. (It's more flexible IMO)