| name | graphql-apollo-server |
| description | Build production GraphQL servers with Apollo Server, plugins, and federation |
| sasmp_version | 1.3.0 |
| bonded_agent | 04-graphql-apollo-server |
| bond_type | PRIMARY_BOND |
| version | 2.0.0 |
| complexity | intermediate |
| estimated_time | 4-6 hours |
| prerequisites | ["graphql-fundamentals","graphql-resolvers"] |
Apollo Server Skill
Deploy production-ready GraphQL APIs
Overview
Learn to build scalable GraphQL servers with Apollo Server 4, including middleware integration, custom plugins, federation, and production best practices.
Quick Reference
| Feature | Package | Purpose |
|---|
| Server | @apollo/server | Core server |
| Express | @apollo/server/express4 | Express integration |
| Plugins | @apollo/server/plugin/* | Extensibility |
| Federation | @apollo/subgraph | Microservices |
Core Setup
1. Basic Server (Express)
import { ApolloServer } from '@apollo/server';
import { expressMiddleware } from '@apollo/server/express4';
import { ApolloServerPluginDrainHttpServer } from '@apollo/server/plugin/drainHttpServer';
import express from 'express';
import http from 'http';
import cors from 'cors';
interface Context {
user: User | null;
dataSources: DataSources;
}
async function startServer() {
app = ();
httpServer = http.(app);
server = <>({
typeDefs,
resolvers,
: [
({ httpServer }),
],
});
server.();
app.(
,
({ : [], : }),
express.(),
(server, {
: ({ req }) => ({
: (req),
: (),
}),
}),
);
httpServer.(, {
.();
});
}