Notice
Recent Posts
Recent Comments
Link
«   2026/08   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Tags
more
Archives
Today
Total
관리 메뉴

나의 개발 일상 기록

[API] GraphQL & Apllo 본문

API

[API] GraphQL & Apllo

느린 거북이 2021. 7. 9. 17:09

GraphQL & Apllo

 

 

1. GraphQL란?

 

서비스를 구성하는 소프트웨어들간에는 수없이 많은 데이터가 오고가며 소통이 이뤄집니다. GraphQL은 그동안 널린 사용되던 Rest API와는 다른 방식의 정보교환입니다. 서비스의 특성에 따라, 보다효율적이고 간편하고도 강력한 방식으로 프론트엔드와 백엔드, 서버와 모바일 앱 등 요소들간의 소통을 구현할 수 있게 됩니다.

 

Rest API 한계로는 필요한 정보들만 받아올 수는 없을까?, 필요한 정보들을 요청 한 번에 받아올 수는 없을까? 와 같은 문제들이 있었습니다. 그러한 한계를 보안하기 위해서 GraphQL이 나왔다고 할 수 있습니다.

 

2. GraphQL 사용예시

 

GraphQL의 쿼리와 뮤테이션을 사용하여, 다양한 형태로 정보를 요청하고 입력, 변경하는 것을 할수 있습니다.

 

  • 팀정보 받아오기

  • 팀의 필요한 정보만 받아오기

  • 팀 정보와 해당 팀 멤버들의 정보들 받아오기

  • 팀 목록과 역할 목록 받아오기

  • 새 팀 추가

  • 특정 번호의 팀 정보 수정

  • 특정 번호의 팀 삭제

 

 

3. GraphQL의 강점

 

3-1. 필요한 정보들만 선택하여 받아올 수 있습니다.

  • Overfetching문제 해결
  • 데이터 전송량 감소

3-2. 여려 계층의 정보들을 한 번에 받아올 수 있습니다.

  • Underfetching 문제 해결
  • 요청 횟수 감소

3-3. 하나의 endpoint에서 모든 요청을 처리할 수 있습니다.

  • 하나의 URI에서 POST로 모든 요청 가능

 

4. Apllo란?

 

GraphQL로 서비스를 만들기 위해서는 그 형식에 따라 프론트엔드에서 데이터를 요청하고, 백엔드에서 이를 받아 수신하여 작업을 처리할 수 있도록 해주는 소프트웨어가 필요합니다. Apllo는 각각 백엔드 서버, 그리고 React등의 프론트 웹이나 모바일 앱에서 GraphQL을 사용한 정보교환을 간편하게 구현할 수 있도록 해줍니다.

* 아폴로(Apollo GraphQL)

'API' 카테고리의 다른 글

[API] GraphQL Query & Mutation  (0) 2021.07.10
[API] GraphQL 서버 만들기  (0) 2021.07.09
카카오 지도 OPEN API  (0) 2021.03.05
네이버 영화 검색 OPEN API  (0) 2021.03.03
API (Application Programming Interface)  (0) 2021.02.23
Comments