This is a simple set up for Next.js using GraphQL Mesh to build a GraphQL Gateway based on a REST API.
GraphQL Mesh is a framework that allows to build GraphQL Gateway server, based on one or multiple source APIs (REST, SOAP, gRPC, GraphQL or Databases).
graph TD;
subgraph AA [" "]
A[Mobile app];
B[Web app];
C[Node.js client];
end
subgraph BB [" "]
E[REST API];
F[GraphQL API];
G[SOAP API];
end
Z[GraphQL Gateway API on a Next.js API route];
A & B & C --> Z;
Z --> E & F & G;
Configuring GraphQL Mesh only requires installing the required packages and providing a .meshrc.yaml
configuration file.
This project translate the PetStore REST API (https://petstore.swagger.io/) to a GraphQL API by simply providing the following configuration:
sources:
- name: PetStore
handler:
newOpenapi:
baseUrl: https://petstore.swagger.io/v2/
oasFilePath: https://petstore.swagger.io/v2/swagger.json
More information on GraphQL Mesh configuration and concepts are available in our documentation.
Deploy the example using Vercel:
Execute create-next-app
with npm, Yarn, or pnpm to bootstrap the example:
npx create-next-app --example with-graphql-gateway with-graphql-gateway-app
yarn create next-app --example with-graphql-gateway with-graphql-gateway-app
pnpm create next-app --example with-graphql-gateway with-graphql-gateway-app