API
를 위한 쿼리 언어이며 이미 존재하는 데이터로 쿼리를 수행하기 위한 런타임 입니다. GraphQL은 API에 있는 데이터에 대한 완벽하고 이해하기 쉬운 설명을 제공하고 클라이언트에게 필요한 것을 정확하게 요청할 수 있는 기능을 제공하며 시간이 지남에 따라 API를 쉽게 진화시키고 강력한 개발자 도구를 지원합니다.글 관련 API = /posts
글 작성 = POST /posts
글 수정 = PATCH /posts/[postid]
글 삭제 = DELETE /posts/[postid]
댓글 관련 API = /posts/[postid]/comments
댓글 작성 = POST /posts/[postid]/comments
댓글 수정 = PATCH /posts/[postid]/comments/[commentid]
댓글 삭제 = DELETE /posts/[postid]/comments/[commentid]
* 서로 다른 모양의 다양한 요청들에 대해 응답할 수 있어야 할 때
* 대부분의 요청이 CRUD(Create-Read-Update-Delete) 에 해당할 때
- 사용 프로젝트 예시 : Data 양이 많은 데이터 앱들(코로나 현황앱, 기상청 기후알림 앱 등), Overfetcing&Underfetcing 피하기 위함
* HTTP 와 HTTPs 에 의한 Caching 을 잘 사용하고 싶을 때 (GraphQL도 캐싱이 가능하다)
* File 전송 등 단순한 Text 로 처리되지 않는 요청들이 있을 때
* 요청의 구조가 정해져 있을 때
- 사용 프로젝트 예시 : 회원정보(가입 및 로그인)를 caching 해야하는 앱, 혹은 URL 파라미터가 확실한 게시판 앱 등
</img>