[nodejs] GraphQL 리졸버 함수 작성
GraphQL은 API를 쉽게 작성하고 쿼리할 수 있는 강력한 쿼리 언어입니다. 리졸버 함수는 GraphQL 쿼리에서 요청된 필드의 값을 가져오거나 계산하는 함수입니다.
리졸버 함수 작성
GraphQL 서버를 구축할 때, 리졸버 함수를 작성해야 합니다. 이 함수들은 각 필드에 대해 필요한 데이터를 반환하거나 계산합니다.
const resolvers = {
Query: {
getUser: (_, { id }) => {
// 사용자 정보를 데이터베이스나 외부 API에서 가져와서 반환
// 예: return User.findById(id);
},
},
User: {
posts: (parent) => {
// 사용자의 게시물을 가져와서 반환
// 예: return Post.find({ userId: parent.id });
},
},
};
위의 코드에서 resolvers
객체는 Query
와 User
타입의 필드에 대한 리졸버 함수를 정의하고 있습니다. getUser
리졸버 함수는 사용자 정보를 반환하고, posts
리졸버 함수는 사용자의 게시물을 반환합니다.
리졸버 함수에 대한 이해
리졸버 함수는 GraphQL 스키마의 각 필드에 대해 정의되며, 필드가 클라이언트에 응답할 값을 결정합니다. 이러한 방식으로 GraphQL 서버는 클라이언트의 요청에 대한 응답을 구성합니다.
GraphQL의 강력한 기능 중 하나는 클라이언트가 필요한 데이터를 정확하게 요청할 수 있는 것입니다. 이러한 요청은 리졸버 함수로 전달되어 해당 필드의 값 또는 데이터를 가져오는 데 사용됩니다.
마무리
리졸버 함수는 GraphQL 서버에서 데이터를 가져오고 반환하는 데 중요한 역할을 합니다. 이러한 함수를 올바르게 작성하면 클라이언트가 필요로 하는 데이터를 효율적으로 가져올 수 있습니다.
GraphQL을 사용할 때는 리졸버 함수의 사용법을 잘 숙지하고, 필드마다 적절한 데이터를 반환하도록 구현하는 것이 중요합니다.