반응형
이번 게시글부터 graphql에 대해 정리하며 gqlgen을 사용하여 golang graphql 서버를 구축하는 예제를 만들어볼 예정입니다.(gqlgen, gorm, sqlite3 사용)
소스코드는 아래의 github 레포에서 확인하실 수 있습니다.
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' 카테고리의 다른 글
[golang] gqlgen을 사용하여 golang graphql 서버 구축하기(3) (0) | 2022.12.08 |
---|---|
[golang] gqlgen을 사용하여 golang graphql 서버 구축하기(2) (0) | 2022.12.07 |
[golang] 맥북 m1칩에서 golang 크로스 컴파일 이슈 해결 방법 (0) | 2022.10.13 |
[golang] H4sIAAAAA??? (0) | 2022.09.19 |
[golang] 익명함수를 고루틴으로 실행시킬때의 주의점(순서와 스택) (0) | 2022.09.08 |
댓글