본문 바로가기

Server

(3)
[GraphQL Server만들기 (3)] Schema, Resolver 구현 + 지난 포스팅에서 아주 기본적인 Query만 정의 했다면 오늘은 조금 그럴싸한 Query를 정의 해보자. 책을 찾고자 할 때 책 전체를 보고 싶을 때가 있고, 사용자가 원하는 단 한권의 책을 찾고 싶을 때가 있다. 먼저 책 전체를 찾고자 할때의 Query는 아래와 같다. Books를 입력하면 Book의 배열을 리턴한다는 뜻이다. 이때 가지고 있는 !의 의미는 null이 되면 안된다는 뜻이다. (화나서 책! 하는게 아니다) schema를 수정해주면 다음은 resolver를 수정해줘야 한다. schema에서 배열을 리턴한다고 정의 내렸으면 resolver에서도 배열을 보내준다고 얘기해야한다. 지난 포스팅에선 book을 하나만 정의 내렸다면 이번엔 Books 라는 아이를 만들어보자. 이 아이는 DB처럼 사용할거..
[GraphQL Server만들기 (2)] Schema, Resolver 구현 오늘은 graphql의 스키마(schema)에 대해 알아보자 스키마는 그냥 설명하는거다. 뭘 받을지 뭘 보낼지에 대한 설명을 작성하는거다. RESTAPI에서 데이터에 접근을 GET, POST, PUT, DELETE 등으로 한다면 GraphQL에서는 Query, Mutation, Subscription으로 한다. Query는 Select 와 비슷하다. 정보를 받아올때 어떤 정보를 받아올지 어떤 정보를 선택할지를 설명한다. Mutation은 데이터를 변경시킬때 사용한다. 생성, 수정, 삭제 등이 있다. Subscription은 web 소켓 사용할 때 쓰는거라고 하는데 일단 보류하고 넘어가자. 다음은 graphQL이 동작하는 구조이다. graphQL이 동작하기 위해선 Schema와 Resolver가 필요하다...
[GraphQL Server만들기 (1)] graphql-yoga로 환경 구축하기 오늘은 GraphQL 구조를 가지는 서버 만들어보자. 아.. 하기싫어죽게따.. 먼저 GraphQL이란 RestAPI 처럼 API Server를 구현하는 구조이다. 이름에서 알 수 있듯이 SQL처럼 Query언어이다. 클라이언트가 데이터를 graph 구조로 요청하면 그에 해당하는 데이터만 보내주는 형태이다. Graph 구조를 가져 RESTful에서의 Over Fetching, Under Fetching 문제를 보완하여 요청 수를 줄인다는 장점이 있다고 한다. 뭐 그렇다곤 하는데 사실 그만큼 많은 요청이 있을지는 모르겠다ㅎㅎ; 각설하고, 시작해보자. 먼저 나는 서버 장비로 라즈베리파이를 사용한다. OS는 raspbian이다. 라즈베리파이를 사용하는 특별한 이유는 없고 학교 지원금으로 구매했는데 아까워서 그냥..