[Project_하다]/[Project_공부]
문맥이 너무해
브렌쏭
2022. 4. 7. 13:54
https://www.apollographql.com/docs/apollo-server/api/apollo-server/
API Reference: ApolloServer
app.use('*', jwtCheck, requireAuth, checkScope);
www.apollographql.com
Apollo Server에서 API를 제작하다 보면, 스키마를 지정하고 만들 수 있다.
constructor
Returns an initialized ApolloServer instance.
Takes an options object as a parameter. Supported fields of this object are described below.
const server = new ApolloServer({
typeDefs,
resolvers,
context
});
오늘 파고들 주제는 저 옵션들 중 context이다.
- An object that's passed to every resolver that executes for a particular operation.
(특정 동작을 실행시키는 모든 리졸버에서 통과된 객체, 혹은 객체를 만드는 함수) - This enables resolvers to share helpful context, such as a database connection.
- Certain fields are added to this object automatically, depending on which Node.js middleware your server uses.
- For more details, see The context argument.
데이터베이스 연결과 같은 유용한 context를 리졸버들이 공유할 수 있도록 한다
The Context Argument
https://www.apollographql.com/docs/apollo-server/data/resolvers/#the-context-argument
Resolvers
How Apollo Server processes GraphQL operations
www.apollographql.com
- The context argument is useful for passing things that any resolver might need, like authentication scope, database connections, and custom fetch functions.
- If you're using dataloaders to batch requests across resolvers, you can attach them to the context as well.
- Resolvers should never destructively modify the context argument. This ensures consistency across all resolvers and prevents unexpected errors.
- To provide an initial context to your resolvers, add a context initialization function to the ApolloServer constructor.
- This function is called with every request, so you can customize the context based on each request's details (such as HTTP headers).