57dcc9d329
This command changed in pnpm [6.32.13](https://github.com/pnpm/pnpm/releases/tag/v6.32.13) and [7.1.1](https://github.com/pnpm/pnpm/releases/tag/v7.1.1) so lets update it since its been a few weeks and we can expect pnpm users to update more regularly than npm users. - Fixes https://github.com/vercel/next.js/pull/37240 - Fixes https://github.com/vercel/next.js/pull/37045 - Fixes https://github.com/vercel/next.js/pull/37032 - Fixes https://github.com/vercel/next.js/pull/36602 - Fixes https://github.com/vercel/next.js/pull/36496 |
||
---|---|---|
.. | ||
pages | ||
public | ||
styles | ||
.gitignore | ||
.meshrc.yaml | ||
next-env.d.ts | ||
next.config.js | ||
package.json | ||
README.md | ||
tsconfig.json |
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:
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:
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