08. graphql이-뭐야

GraphQL과 REST API의 특성 비교 — 단일 엔드포인트 기반 유연한 쿼리 방식과 표준 엔드포인트 기반 캐싱 방식을 비교한다.

1. GraphQL이란?

GraphQL과 REST API는 클라이언트와 서버 간에 데이터를 주고받는 방법을 제공하는 API입니다.

2. GraphQL과 REST API 비교 분석

2.1. GraphQL

장점:

  1. 단일 엔드포인트: 클라이언트는 필요한 데이터를 요청할 수 있는 한 개의 문만 있으면 됩니다.
    (쉬운 설명: 데이터를 받으러 여러 곳에 가야 하는 대신, 한 곳에만 가면 돼요!)
  2. 유연성: 내가 필요한 데이터만 선택해서 받을 수 있어요.
    (쉬운 설명: 뷔페에서 내가 먹고 싶은 것만 골라서 가져오는 것과 같아요!)
  3. 효율적인 네트워크 사용: 필요한 만큼만 데이터를 요청하니까, 인터넷을 덜 쓰고 빨리 끝낼 수 있어요.
    (쉬운 설명: 물을 가득 채운 큰 컵보다, 내가 마실 양만큼 작은 컵을 쓰면 물도 아끼고 빨리 마실 수 있어요.)

단점:

  1. 학습 곡선: REST API보다 좀 더 어려워서 배울 시간이 필요해요.
    (쉬운 설명: 더 많은 규칙이 있는 놀이처럼, 조금 더 공부해야 할 게 많아요!)
  2. 캐싱과 성능 관리: 클라이언트가 직접 저장하는 방법을 관리해야 해요.
    (쉬운 설명: 물건을 어디에 넣어두고, 어떻게 꺼낼지 내가 다 기억해야 하는 거예요.)

2.2. REST API

장점:

  1. 간단한 인터페이스: 쉬운 방법으로 데이터를 주고받을 수 있어요.
    (쉬운 설명: 신호등만 잘 보면 되는 길 건너기와 비슷해요!)
  2. 캐싱 지원: 데이터를 저장해서 다시 받을 필요 없이 빨리 가져올 수 있어요.
    (쉬운 설명: 좋아하는 장난감을 항상 같은 자리에 놓으면 빨리 찾을 수 있는 것처럼요!)
  3. 호환성: 많은 프로그램들과 잘 맞아서 쓰기 좋아요.
    (쉬운 설명: 레고처럼 여러 가지 블록을 다 맞춰서 쓸 수 있는 거예요!)

단점:

  1. 오버페칭과 언더페칭: 데이터를 너무 많이 받거나 적게 받을 수 있어요.
    (쉬운 설명: 친구가 과자를 너무 많이 주거나, 너무 적게 줄 때처럼 딱 맞지 않을 수 있어요.)
  2. 다중 엔드포인트: 필요한 데이터마다 여러 문을 찾아가야 할 수 있어요.
    (쉬운 설명: 여러 방에 들어가서 물건을 찾아야 하는 상황과 같아요.)

3. 참조

공식: https://graphql.org/
한국어: https://graphql-kr.github.io/
튜토리얼1: https://www.javatpoint.com/graphql
튜토리얼2: https://www.tutorialspoint.com/graphql/index.htm

댓글 남기기