REST API와 GraphQL

JUNHO YEOM·2022년 8월 21일

RESTful API

HTTP 요청을 사용하여 데이터에 접근 하고 사용하는 API 아키텍처 스타일이며,
GET, PUT, POST, DELETE 와같은 형태로 사용되는 것을 말합니다.

Restful API의 제약조건

  • 균일한 인터페이스 사용
  • 클라이언트 - 서버 기반
  • 상태 비저장 작업
  • 리소스 캐싱
  • 계층화된 시스템
  • 온디멘트 코드

특징

  • HTTP 프로토콜 사용.
  • 높은 범용성
  • 표준이 존재하지 않는다

GraphQL

GraphQL은 페이스북이 개발한 API용 오픈소스 쿼리 언어입니다.

특징

  • 한번에 여러개의 API를 전송할 수 있어 요청의 횟수를 줄일 수 있습니다.
  • 원하는 Data만 받을 수 있도록 지정할 수 있습니다.
  • 고정된 요청과 응답만 필요할 경우에는 Query문으로 인해 요청의 크기가 RESTful API보다 더 커집니다.

RESTful API와 GraphQL의 사용

RESTful API와 RGraphQL중 어느 한가지가 절대적으로 우월하지 않기 때문에 사용 형태에 따라 사용하고자 하는 형태를 선택하여 적용할 수 있습니다.
또한, 두가지 모두를 적용하는 형태 또한 가능합니다.

Restful API

요청의 구조가 정해져 있을 때
파일 전송등의 Text로 처리되지 않는 자료를 처리해야 할 때

GraphQL

다양한 종류의 요청에 응답할 수 있어야 할때
CRUD 요청이 대부분일 때

0개의 댓글