[TIL #49 기업 협업] rest API vs graphQL

Whoyoung90·2021년 5월 1일
0
post-thumbnail

210501 WECODE #49 기업협업 주말

> rest API란?

소프트웨어 간 정보를 주고받는 방식

  • GET POST PUT DELETE 등
  • graphQL 이전부터 사용

> rest API의 한계

  1. 너무 많이 받아서 OverFetching
  2. 충분하지 않아서 UnderFetching

1. 각 팀의 매니저와 오피스 호수만 필요할 때

// graphQL
[
  {
    "manager": "Mandy Warren",
    "office": "101A",
  },
  {
    "manager": "Stewart Grant",
    "office": "101B",
  },
  // ...
]

rest API는 원하지 않는 정보까지 전부 받아와야 한다

// rest API
[
    {
        "id": 1,
        "manager": "Mandy Warren",
        "office": "101A",
        "extension_number": "#5709",
        "mascot": "Panda",
        "cleaning_duty": "Monday",
        "project": "Hyperion"
    },
    {
        "id": 2,
        "manager": "Stewart Grant",
        "office": "101B",
        "extension_number": "#4012",
        "mascot": "Tadpole",
        "cleaning_duty": "Tuesday",
        "project": "Zen"
    },
   //...
]

2. 원하는 정보가 여러 계층 데이터에 걸쳐 있을 때

"Mandy 팀"에 "특정 사람" 정보를 받아오려면

// graphQL

// rest API
localhost:3000/api/team + localhost:3000/api/people
두번요청 해야한다.

> graphQL의 탄생

1.딱 필요한 정보들만 받아올 수는 없을까?
2.필요한 정보들을 요청 한 번에 받아올 수는 없을까?

=> rest API를 보완하기 위해 graphQL이 탄생
(한번의 요청에 종류가 다른 여러 데이터들을 받아올 수 있다!)

profile
비전공으로 일식 쉐프가 되었듯, 배움에 겸손한 프론트엔드 개발자가 되겠습니다 :)

0개의 댓글