Integrate Apollo Server with Next.js App Router (Route Handlers)
mainTo use Apollo Server with the Next.js App Router, create a Route Handler file (e.g., app/api/graphql/route.js). Create your ApolloServer instance, pass it to startServerAndCreateNextHandler, and then export the resulting handler as both GET and POST to support GraphQL operations.
import { startServerAndCreateNextHandler } from '@as-integrations/next';
import { ApolloServer } from '@apollo/server';
import { gql } from 'graphql-tag';
const resolvers = {
Query: {
hello: () => 'world',
},
};
const typeDefs = gql`
type Query {
hello: String
}
`;
const server = new ApolloServer({
resolvers,
typeDefs,
});
const handler = startServerAndCreateNextHandler(server);
export { handler as GET, handler as POST };