利用イベントの計測、料金とクレジットの適用、請求書や決済の生成に対応した、オープンソースの従量課金プラットフォーム。
99designs/gqlgen
スキーマファーストのGraphQL定義から、型安全なGraphQLサーバーコードを生成するGoライブラリ。
- スター
- 10,767
- フォーク
- 1,262
- 未解決の Issue
- 396
- 最終コミット
- 13 時間前
これは何?
gqlgenは、GraphQLサーバーを構築するためのGoライブラリです。GraphQL Schema Definition LanguageでAPIを定義すると、必要なGoの型とresolverインターフェースが生成されるため、定型コードはgqlgenに任せてビジネスロジックの実装に集中できます。生成されるコードは全体を通じて型付けされており、map[string]interface{}には依存しません。
go generateワークフローで実行でき、tool dependenciesを通じてGoツールチェーンに統合されています。設定はgqlgen.ymlファイルで行い、GraphQLの型を既存のGo structに対応付けたり、特定のフィールドでresolverを必須にしたり、IDの表現方法をintやstringなどに変更したりできます。フィールドresolverは並行実行でき、並行度はworker_limit設定で制御できます。
リポジトリには、ほかのGo製GraphQL実装との機能比較ページのほか、入門チュートリアル、pkg.go.devのリファレンスドキュメント、サンプルアプリケーションも含まれています。
主な機能
- 01スキーマファーストの開発:GraphQL SDLでAPIを定義し、そこからコードを生成します。
- 02型付きのGoモデルとresolverインターフェースを生成し、型のないmapを使わずに済みます。
- 03gqlgen.ymlまたはdirectiveを使って、GraphQLの型を既存のGo structに対応付けられます。
- 04不要な子データの取得を避けるため、特定のフィールドでresolverを必須にできます。
- 05IDの型をint、uint、stringの間で設定できます。
- 06worker limitを設定して、フィールドresolverの並行実行を制御できます。
ユースケース
- 型安全性を重視したGo製GraphQL APIバックエンドの構築。
- 既存のGo structやデータモデルにGraphQLレイヤーを追加。
- APIスキーマを先に設計し、そこからサーバーコードを生成したいチーム。
クイックスタート
- 1
新しい Go モジュールのディレクトリを作成して移動する
mkdir example cd example go mod init example - 2
ツール依存関係として gqlgen を追加する
go get -tool github.com/99designs/gqlgen - 3
gqlgen の設定を初期化してモデルを生成する
go tool gqlgen init - 4
GraphQL サーバーを起動する
go run server.go
使う前に知っておきたいこと
- Go のインストールが必要で、Go サーバー専用のライブラリです。
- スキーマファースト設計のため、GraphQL スキーマとリゾルバーは自分で記述する必要があります。
トピック
よくある質問
- gqlgen とは?
- スキーマファーストのGraphQL定義から、型安全なGraphQLサーバーコードを生成するGoライブラリ。 gqlgenは、GraphQLサーバーを構築するためのGoライブラリです。GraphQL Schema Definition LanguageでAPIを定義すると、必要なGoの型とresolverインターフェースが生成されるため、定型コードはgqlgenに任せてビジネスロジックの実装に集中できます。生成されるコードは全体を通じて型付けされており、map[string]interface{}には依存しません。
- gqlgen は無料で使えますか?ライセンスは?
- gqlgen は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- gqlgen は今もメンテナンスされていますか?
- 活発にメンテナンス中。gqlgen の最終コミットは 2026年10月21日 です。
- gqlgen は何に使えますか?
- 型安全性を重視したGo製GraphQL APIバックエンドの構築。 既存のGo structやデータモデルにGraphQLレイヤーを追加。 APIスキーマを先に設計し、そこからサーバーコードを生成したいチーム。
- gqlgen のインストール方法は?
- 新しい Go モジュールのディレクトリを作成して移動する: mkdir example cd example go mod init example ツール依存関係として gqlgen を追加する: go get -tool github.com/99designs/gqlgen gqlgen の設定を初期化してモデルを生成する: go tool gqlgen init GraphQL サーバーを起動する: go run server.go
- gqlgen はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/99designs/gqlgen
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
MongoDBまたはPostgreSQL上で、REST/GraphQL API、ユーザー認証、ファイルストレージ、プッシュ通知を提供するオープンソースのNode.jsバックエンド。
PostgreSQLを基盤とし、即時利用可能なGraphQL API、認証、ストレージ、サーバーレス関数を備えたオープンソースのFirebase代替サービス。
約40万首の簡体字・繁体字中国語の古典詩を収録し、RESTとGraphQLのエンドポイントを提供するGo製APIサービス。
バックエンドコードを書かずに、既存のPostgreSQLデータベースをRESTful APIに変換するスタンドアロンサーバー。
サービス、ワーカー、キュー、cronジョブ、エージェントを、単一のライブ関数カタログを通じて構成・発見・トレースできるRustランタイム。