본문 바로가기
golang

[golang] gqlgen을 사용하여 golang graphql 서버 구축하기(1)

by devjh 2022. 12. 7.
반응형

이번 게시글부터 graphql에 대해 정리하며 gqlgen을 사용하여 golang graphql 서버를 구축하는 예제를 만들어볼 예정입니다.(gqlgen, gorm, sqlite3 사용)

 

소스코드는 아래의 github 레포에서 확인하실 수 있습니다.

 

GitHub - jaeho310/golang-graphql-sample

Contribute to jaeho310/golang-graphql-sample development by creating an account on GitHub.

github.com

 

1. graphql이란

페이스북에서 개발한 graphql은 클라이언트에서 쿼리를 통해 원하는 만큼의 데이터를 꺼내갈 수 있도록 만들어진 api로 rest api보다 유연하게 데이터를 제공할 수 있습니다.

 

2. graphql의 구성요소

graphql 은 크게 세가지의 구성요소를 갖습니다.

(1) 스키마

  • 클라이언트에서 쿼리할  데이터의 정의
  • rest api의 path variable, query param, body는 스키마와 비슷한 성격을 갖습니다.

 

(2) 쿼리(뮤테이션, 서브스크립션)

  • graphql의 요청 단위의 종류(메서드)
  • query는 restapi의 get 과 비슷한 성격을 갖습니다.
  • mutation은 restapi의 post, put, patch, delete와 비슷한 성격을 갖습니다.
  • subscription은 실시간성 정보를 제공하기 위한 방식입니다.(웹소켓)

 

(3) 리졸버

  • api의 코드레벨 시작점입니다.
  • 프레임워크들의 controller, router, handler 와 비슷한 성격을 갖습니다.

 

자세한 내용과 사용법은 다음게시글에서 예제코드를 작성하며 정리하겠습니다.

 

[golang] gqlgen을 사용하여 golang graphql 서버 구축하기(2)

이번 게시글에서는 gqlgen 사용법에 대해서 정리합니다. 소스코드는 아래의 github 레포(example-1 branch)에서 확인하실 수 있습니다. GitHub - jaeho310/golang-graphql-sample Contribute to jaeho310/golang-graphql-sample dev

frozenpond.tistory.com

 

반응형

댓글