GraphQL Mesh is a framework to build GraphQL Gateways on top of GraphQL and non-GraphQL services (REST, gRPC, and more).
Many approaches exist to build a GraphQL Gateway:
- creating an Apollo Server with Apollo DataSource to query sub-services
- creating a GraphQL Gateway from scratch using GraphQL tools (ex:
- use Apollo Federation
However, most of those approaches require much coding, maintenance or don't support non-GraphQL sub-services.
GraphQL Mesh has been built with productivity and developer experience in mind.
Building and serving a unified GraphQL schema as a Gateway has never been easier; thanks to many helpful features:
- Consume many API/Sources types (SOAP, REST, GRPC, Databases, and more)
- Embedded performant and extensible GraphQL Server (GraphQL Yoga + Envelop )
- Apply transforms to the unified schema (ex: naming convention)
- Extend the unified schema with custom resolvers
- Caching strategies
- Add mocks for Schema development
Already used in production by community members and some of our clients , GraphQL Mesh is useful for:
- Build a unified GraphQL Schema that follows the industry best practices (schema design, performances)
- Combine multiple GraphQL services as a unified Schema with subscriptions support
- Progressively migrate existing non-GraphQL services under a unified GraphQL API (REST, gRPC, SOAP)
- Quickly give a try to GraphQL by translating an existing REST API to a GraphQL Gateway