[Graphql] 그래프큐엘에 대해...

Dragon_Tack·2023년 4월 18일
1
post-thumbnail
post-custom-banner

그래프큐엘에 대한 포스팅을 다시한번 하려고한다.
누군가에게 질문을 받았을때,, 가물가물했었기 때문에..! Remind를 하고자 한다!!!

REST는 REpresentational State Transfer 의 줄임말

모든 Resource (자료, User, …) 들을 하나의 Endpoint 에 연결해놓고,
각 Endpoint 는 그 Resource 와 관련된 내용만 관리하게 하자는 방법론이다.
즉 자원(resource)의 표현(representation)에 의한 상태 전달
좁은 의미로 HTTP를 통해 CRUD(Create, Read, Update, Delete)를 실행하는 API를 뜻한다.

GraphQL or RESTful?

그렇다면 GraphQL 과 RESTful 중 어떤 것을 선택해서 사용하는것이 좋을까?
다음과 같은 기준으로 선택하면 된다

RESTful API를 선택해야 하는 경우:

  1. 캐싱 및 성능: 특히 HTTP 캐싱 헤더를 통해 캐싱 메커니즘을 활용하는 것이 애플리케이션 성능 최적화에 필수적입니다.

  2. 파일 전송: 애플리케이션에 다른 데이터 작업과 함께 파일 업로드 및 다운로드를 처리하는 기능이 필요한 경우.

  3. 구조화된 요청: 요청에 대해 명확하고 사전 정의된 구조가 필요한 시나리오에서는 클라이언트가 API와 더 쉽게 상호 작용할 수 있습니다.

GraphQL을 선택해야 하는 경우:

  1. 유연한 요청: 애플리케이션이 다양하고 동적인 쿼리를 처리해야 하는 경우 클라이언트가 특정 필드 및 관련 데이터 구조를 요청할 수 있습니다.
  2. 효율적인 CRUD 작업: 수많은 CRUD 작업이 포함된 애플리케이션의 경우 GraphQL의 단일 엔드포인트가 다양한 데이터 조작 요구 사항을 수용할 수 있습니다.
  3. 오버 페치 감소: 데이터 오버 페치를 최소화하려는 경우 클라이언트가 필요한 데이터만 수신하고 그 이상은 수신하지 않도록 합니다.

참고문헌 :https://velog.io/@dooreplay/%EA%B7%B8%EB%9E%98%ED%94%84%ED%81%90%EC%97%98-%EB%94%B0%EB%9D%BC%EC%9E%A1%EA%B8%B0-1%ED%83%84

profile
고민의 흔적을 늘여놓는 공간
post-custom-banner

0개의 댓글