GraphQL을 사용하는 이유와 REST API의 단점

👀·2024년 2월 6일
0

GraphQL을 사용하는 이유:

  1. 유연한 데이터 요청:
    GraphQL은 클라이언트가 필요한 데이터를 직접 지정할 수 있어 과도한 데이터를 받지 않고 필요한 데이터만 효율적으로 가져올 수 있다.
    이는 네트워크 대역폭을 절약하고 성능을 향상시킬 수 있다.

  2. 단일 엔드포인트:
    GraphQL은 하나의 엔드포인트를 사용하여 모든 데이터를 요청할 수 있다.
    이는 여러 개의 API 엔드포인트를 호출하는 대신 하나의 엔드포인트에서 모든 데이터를 가져 올 수 있다.
    불필요한 네크워크 요청과 오버헤드(처리시간 및 메모리 등이 추가적으로 사용되는 현상)를 줄인다.

  3. 타입 체크:
    GraphQL은 타입체크로 인해 런타임 오류를 방지할 수 있도록 도와 준다.
    스키마를 기반으로 각 필드의 타입이 명시되어 있고 client가 잘못된 타입의 데이터를 요청하면 오류를 발생시킨다.

REST API 단점:

  1. 데이터:
    REST API는 client가 미리 정의된 엔드포인트를 호출하여 데이터를 요청한다.
    이로 인해 client가 필요한 데이터의 양을 예측하기 어렵다.
    때로는 중복된 데이터를 받거나 필요한 데이터를 받지 못하는 경우가 생긴다.

  2. 네트워크 오버헤드:
    여러 개의 엔드포인트를 호출하여 데이터를 가져온다.
    이로 인해 여러 번의 네트워크 요청이 발생 할 수 있다. => 오버헤드 발생

  3. clinet 측 유연성 제한:
    서버가 정의한 데이터 구조에 맞춰 데이터를 받아야 하기 때문에 client가 필요하지 않은 데이터를 받거나 여러번의 요청을 통해 데이터를 얻어야 한다.

  4. 버전 관리의 어려움:
    엔드포인트에 버전 번호를 포함하여 API의 버전을 관리 해야 한다.
    업데이트할 때마다 새로운 버전을 만들어야 한다.

0개의 댓글