GraphQL

Write an awesome doc for GraphQL. A very nice an practical one extracted from GraphQL official documentation.

View on GitHub

Code-First Approach

import { ApolloServer } from '@apollo/server';
import { expressMiddleware } from '@apollo/server/express4';
import cors, { CorsRequest } from 'cors';
import express from 'express';
import {
  GraphQLObjectType,
  GraphQLSchema,
  GraphQLString,
} from 'graphql';

const schema = new GraphQLSchema({
  query: new GraphQLObjectType({
    name: 'Query',
    fields: {
      hello: {
        type: GraphQLString,
        resolve: (root, args, context, info) => {
          return 'Hello World';
        },
      },
    },
  }),
});

const app = express();
const apolloServer = new ApolloServer({
  schema,
});

await apolloServer.start();

app.use(
  '/graphql',
  cors<CorsRequest>(),
  express.json(),
  // @ts-ignore
  expressMiddleware(apolloServer),
);

app.listen(4000);