rsnext/examples/api-routes-graphql
Marcos Bérgamo c3e5caf110
docs(examples): improve DX while copying command to create new project (#38410)
* docs(examples): improve DX while copy command to create new project

* chore: apply code review

Co-authored-by: Marcos Bérgamo <Marcos.Bergamo@refinitiv.com>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2022-07-26 21:57:48 -05:00
..
pages chore(examples): Convert api-routes-graphql example to TypeScript (#38357) 2022-07-08 11:44:39 +00:00
.gitignore Update default gitignore templates (#39051) 2022-07-26 20:08:40 -05:00
next-env.d.ts chore(examples): Convert api-routes-graphql example to TypeScript (#38357) 2022-07-08 11:44:39 +00:00
package.json chore(examples): Convert api-routes-graphql example to TypeScript (#38357) 2022-07-08 11:44:39 +00:00
README.md docs(examples): improve DX while copying command to create new project (#38410) 2022-07-26 21:57:48 -05:00
tsconfig.json chore(examples): Convert api-routes-graphql example to TypeScript (#38357) 2022-07-08 11:44:39 +00:00

API routes with GraphQL server

Next.js ships with API routes, which provide an easy solution to build your own API. This example showcases how to build a lightweight and blazing fast GraphQL API with minimum configuration using GraphQL Yoga.

GraphQL Yoga comes with strong defaults:

  • CORS is enabled by default
  • Automatically masking unexpected errors and preventing sensitive information from leaking to clients.
  • Shipped with GraphiQL

Yoga also brings support (with no additional dependency) for subscriptions, file uploads, and your favorite schema-building library (GraphQL Tools, Pothos, Nexus, TypeGraphQL, SDL first schema-design approaches, graphql-js, Apollo Tools).

More information on all available features are available on the official documentation.

Finally, GraphQL Yoga is built on top of Envelop. Envelop is a library that helps build GraphQL API faster and flexibly with plugin-based architecture.

Similar to Express middlewares allowing you to customize requests' behavior, Envelop applies the same idea to GraphQL requests.

More information on Envelop documentation.

Deploy your own

Deploy the example using Vercel or preview live with StackBlitz

Deploy with Vercel

How to use

Execute create-next-app with npm, Yarn, or pnpm to bootstrap the example:

npx create-next-app --example api-routes-graphql api-routes-graphql-app
yarn create next-app --example api-routes-graphql api-routes-graphql-app
pnpm create next-app --example api-routes-graphql api-routes-graphql-app

Deploy it to the cloud with Vercel (Documentation).