rsnext/examples/with-graphql-gateway
2022-05-27 21:21:40 +00:00
..
pages feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes (#36439) 2022-05-23 11:02:21 -05:00
public feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes (#36439) 2022-05-23 11:02:21 -05:00
styles feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes (#36439) 2022-05-23 11:02:21 -05:00
.gitignore feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes (#36439) 2022-05-23 11:02:21 -05:00
.meshrc.yaml feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes (#36439) 2022-05-23 11:02:21 -05:00
next-env.d.ts feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes (#36439) 2022-05-23 11:02:21 -05:00
next.config.js feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes (#36439) 2022-05-23 11:02:21 -05:00
package.json feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes (#36439) 2022-05-23 11:02:21 -05:00
README.md Update pnpm create next-app for latest pnpm 6 and 7 (#37254) 2022-05-27 21:21:40 +00:00
tsconfig.json feat(examples): build a GraphQL Gateway with GraphQL Mesh and Next.js API routes (#36439) 2022-05-23 11:02:21 -05:00

GraphQL Gateway using GraphQL Mesh and Next.js API routes

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:

.meshrc.yaml

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 your own

Deploy the example using Vercel:

Deploy with Vercel


How to use

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
# or
yarn create next-app --example with-graphql-gateway with-graphql-gateway-app
# or
pnpm create next-app --example with-graphql-gateway with-graphql-gateway-app