본문 바로가기

4. 개인 취미 생활

[31] GraphQL & Apollo를 이용한 GraphQL 서버 만들기

GraphQL에 대한 정보

 서버와 서버 혹은 클라이언트와 서버가 데이터를 주고 받는 형식의 한 종류로 REST API와 GraphQL가 있다.

 

 REST API의 단점 중에서 Overfeching과 Underfetching을 극복할 수 있는 형식이 GraphQL이다.

1. Overfetching : 불필요한 정보들까지 모두 받게 되는 문제
2. Underfetching : 여러 종류의 정보를 받기 위해서는 한 번의 요청으로는 받을 수 없는 문제

게다가 GraplQL은 하나의 endpoint(URI)에서 (POST로) 모든 요청을 처리할 수 있다는 장점도 있다.

 

하지만 GraphQL이 만능은 아니고! REST API와 GraphQL은 서로 다른 장단점이 있으므로 두 형식을 잘 이해하고, 상황에 맞게 더 적절한 것을 사용하는 것이 좋다.

 

Apollo에 대한 정보

GraphQL 공식 페이지에 가보면 GraphQL을 쉽게 다룰 수 있는 라이브러리들이 소개되어 있다.

그 중에 Server와 Client 둘 다 제공되며, 가장 많이 사용되는 라이브러리 중 하나가 Apollo라는 것을 알 수 있다.

https://graphql.org/code/
 

GraphQL Code Libraries, Tools and Services

Typetta is an open-source ORM written in TypeScript that aims to allow seamless access to data in a typed fashion to all main SQL databases (MySQL, PostgreSQL, Microsoft SQL Server, SQLLite3, CockroachDB, MariaDB, Oracle & Amazon Redshift) and also to the

graphql.org

 

Apollo 공식 페이지에서는 친절한 document와 다양한 tutorial을 볼 수 있다.

https://www.apollographql.com/docs/
 

Apollo Docs Home

Explore the Apollo platform

www.apollographql.com