GraphQL이란?

Facebook이 2015년 공개한 API 쿼리 언어다. REST와 달리 클라이언트가 필요한 필드를 명시해 over/under-fetching 문제를 해결한다.

REST 대비 장점

  • 한 번 요청으로 여러 리소스 조합 조회
  • 스키마 기반이라 타입 안정성 높음
  • 프런트엔드 변경 시 백엔드 수정 불필요

단점

  • 캐싱이 REST보다 까다로움
  • N+1 쿼리 문제 주의 (DataLoader 필요)
  • 단순 CRUD에는 오버엔지니어링