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: stitchSchemas())
  • 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

Get started by learning the GraphQL Mesh concepts and build your first Gateway!