본문 바로가기

graphql6

[Nexus] Source Types으로 parent 타입 수정하기 Source란 ? Nexus를 사용해서 schema를 만들 때, sourceTypes 옵션을 추가할 수 있습니다. sourceTypes는 source의 type을 내가 원하는 타입으로 매핑해주는 역할을 합니다. 여기서 source는 resolver의 첫번째 인자를 의미합니다. 클라이언트가 아래와 같이 질의한다고 해봅시다. query{ user{ - resolver (1) email - resolver (2) address - resolver (3) posts{ - resolver (4) content - resolver (5) } } } 우리가 질의하는 모든 field에는 resolver가 존재합니다. 질의는 resolver에서 처리되며 결과값을 클라이언트에서 받아보는 것이죠. resolver는 4개의 .. 2022. 4. 9.
[GraphQL] GraphQL와 N+1 N+1문제는 orm을 사용하면 빈번하게 마주하는 입니다. N+1이 무엇이고, 어떻게 해결할 수 있는지는 다른 많은 블로그에서 참고할 수 있습니다. 이 글에서는 그것보다는 GraphQL을 사용하는 유저로서 GraphQL의 특징과 연결지어 N+1을 설명하고 왜 문제가 되는지, 어떻게 해결할 수 있는지 알아 보겠습니다. GraphQL resolver는 데이터를 어떻게 처리할까 기존의 rest api의 경우 /users 엔드 포인트에 요청을 보내면 원하든 원하지 않든 항상 유저와 유저의 게시글을 가져오게 됩니다. 이를 over fetching이라고 하죠. 비슷하게 하나의 엔드 포인트 요청으로 원하는 데이터를 못가져오게 되어 여러번 요청((under fetching))을 보내야 합니다. 이와는 다르게 Graphq.. 2021. 9. 26.