REST API vs GraphQL

Junyoung Song·2022년 3월 17일
0

REST란?

REST(REpresentational State transfer) 컴퓨터의 웹에서 다른 곳과 통신을 더 원할 하게 하기위한 원칙을 제공하는 한가지의 방법론입니다.

rest-API의 경우 서버에서 보내주는 모든 데이터를 받아야해서 불필요한 데이터가 들어있을 수 있습니다.

REST의 장점

  • 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있다.
  • REST API 메시지가 의도하는 바를 명확하게 나타내므로 의도하는 바를 쉽게 파악할 수 있다
  • 서버와 클라이언트의 역할을 명확하게 분리한다
  • REST의 단점

  • 표준이 없다
  • 사용할 수 있는 메소드가 4가지 밖에 없다
  • 불필요한 정보를 받을 수 도 있다.
  • GraphQL란?

    GraphQL 은 페이스북에서 개발한 쿼리어입니다. GraphQL의 경우 사용자가 어떤 데이터가 필요한 지 명시할 수 있게 해주어 불필요한 데이터를 주고 받지 않도록 해줍니다.

    GraphQL의 경우 사용자가 어떠한 데이터를 받을 지 정할 수 있기 때문에 불필요한 데이터를 받지 않을 수 있어 더욱더 효율적으로 통신할 수 있도록 해줍니다.

    GraphQL은 전체 API에 하나의 Endpoint를 사용합니다. REST API의 경우 리소스 마다 각자의 Endpoint를 가지고 있습니다.

    GraphQL의 장점

  • HTTP 요청의 횟수를 줄일 수 있습니다. 하나의 Query에 원하는 정보를 모두담아 요청하는것이 가능합니다.
  • HTTP 응답의 크기를 줄일 수 있습니다.
  • GraphQL의 단점

  • File 전송 등 텍스트로만 하기 힘든 내용의 처리가 복잡합니다.
  • 고정된 요청과 응답이 필요한 경우에는 요청의 크기가 REST API보다 커지게 됩니다.
  • GraphQL가 대부분의 경우 REST보다 더 효율적입니다. 하지만 회사에서 이미 REST를 사용 중 일수도 있고, 무료로 재공되는 API 의 경우 REST API 가 많기 때문에 두개다 배워두는것이 좋습니다.


    참고: https:
    /velog.io/@djaxornwkd12/REST-API-vs-GraphQL-%EC%B0%A8%EC%9D%B4%EC%A0%90-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0
    https://ko.wikipedia.org/wiki/%EA%B7%B8%EB%9E%98%ED%94%84QL
    https://ko.wikipedia.org/wiki/REST

    0개의 댓글