gqlgenチュートリアルをできるだけわかりやすく解説する

30118 ワード

はじめに

エンジニアインターン2社目にしてGolang+GraphQLで開発することになりました。
最近こそ理解が進みはしたものの、今までREST以外の世界を知らなかった自分にとってgqlgenが何をしてくれるのか、何が便利なのかピンと来なかったので同じような境遇の方のために記事を書こうと思います。

前提知識

  • GraphQLの基本がわかる
  • Golangの基本文法がわかる

gqlgenとは?

公式から引用

gqlgen is a Go library for building GraphQL servers without any fuss.
・gqlgen is based on a Schema first approach — You get to Define your API using the GraphQL Schema Definition Language.
・gqlgen prioritizes Type safety — You should never see map[string]interface{} here.
・gqlgen enables Codegen — We generate the boring bits, so you can focus on building your app quickly.

要はGraphQLサーバーを作る際に「スキーマファースト」で「型安全性を保ったまま」「コードを自動生成」できるGolangのライブラリというわけです。

目標

gqlgenチュートリアルに沿って簡単なtodoアプリケーションを作成します。挙動はGraphQL Playroundで確認するような形にします。

今回のコード