Language/JavaScript

Rest API에 대해서

nayoon030303 2021. 6. 14. 01:23

GraphQL에 대해서 공부하기 이전에 REST API에 대해서 간단하게 알아보겠습니다. 

📕REST API란 소프트웨어 간 정보를 주고받는 방식입니다. 

  • GraphQL이전부터 사용
  • '다른' 방식 - 용도와 작업 특성에 따라 적합한 것을 사용

❓REST API를 알아보는 이유

이전 포스팅에서 어떤 언어를 배우기 이전에 언어의 탄생 배경에 대해서 알게 된다면 더욱더 언어를 쉽게 이해할 수 있다고 했습니다. 그래서 이번 시간에 GraphQl의 등장 배경과 목적에 대해서 알아보겠습니다.

 

 

저는 인프런에 GraphQL 강의를 보면서 따라 하고 있습니다. 

 

localhost:3000/api/team

=> team의 정보를 가져온다. 

 

localhost:3000/api/team/1

=>id가 1인 team의 정보를 가져온다. 

 

localhost:3000/api/people

=> people의 정보를 가져온다. 

 

localhost:3000/api/people?role=developer&blood_type=B

=>role이 developer이면서 blood_type이 B인 people의 정보를 가져온다. 

 

localhost:3000/api/team/1/people

=>team에서 id가 1인 people의 정보를 가져온다. 

 

http://localhost:3000/api/people?team=1

=>team이 1인 people의 정보를 가져온다. (위와 동일)

 

 

📌REST API의 한계

Overfetching

localhost:3000/api/team 으로 정보를 얻어 온 온다면 id부터 project까지 다양한 정보들을 가져옵니다. 하지만 그중 사용하는 정보는 manager와 project입니다. REST API를 사용하게 된다면은 원하지 않는 정보들까지 전부 받아오게 됩니다. 데이터의 양이 많아지면 네트워크 비용과 시간들도 늘어납니다. 이것을 Overfetching이라고 합니다

Underfetching

Rest API 방식으로는 team을 받아오는 요청과 people을 받아오는 요청이 따로 있습니다. Ann이 manager인 팀에 정보와 해당 팀에 속한 사람들의 정보를 받아오고 싶다면 요청을 두 번 보내야 합니다. 이것을 Underfetching이라고 합니다.

 

💡마무리

데이터를 주고받는 방식인 Rest API에 대해서는 간략하게 알고 있었습니다. 이번 기회를 통해 다시 한번 개념을 잡았습니다. 다음 기회에는 Rest API에 대해서 더 깊게 공부하고 싶습니다.