들어가며"프론트엔드에서 필요한 데이터가 바뀔 때마다 API를 새로 만들어야 하나요?" 백엔드 개발자라면 이 질문에 공감하실 것입니다. 모바일 앱은 화면별로 필요한 데이터가 다르고, 웹은 또 다른 조합이 필요합니다. REST API로는 Over-fetching(불필요한 데이터까지 전달)과 Under-fetching(여러 API를 호출해야 원하는 데이터를 조합) 문제가 반복됩니다.GraphQL은 이 문제를 클라이언트가 필요한 데이터만 정확히 요청하는 방식으로 해결합니다. 하지만 GraphQL이 항상 REST보다 좋은 것은 아닙니다. 이 글에서는 Spring for GraphQL을 활용한 실전 구현부터 N+1 문제 해결, Subscription을 이용한 실시간 통신, 그리고 REST와 GraphQL을 언제 각..