Repolode
gin-gonic

gin-gonic/gin

Martini風のAPIを備え、REST API、Webアプリ、マイクロサービス向けに作られた、高性能なGo用HTTP Webフレームワークです。

スター
89,394
フォーク
8,777
未解決の Issue
806
最終コミット
11 日前

これは何?

GinはGoで書かれたHTTP Webフレームワークです。Martini風のAPIを提供し、ルーティングにはhttprouterを使用します。プロジェクトによると、Martini風フレームワークより最大40倍高速です。REST API、Webアプリケーション、マイクロサービスを対象としています。

ゼロアロケーションのルーター、認証・ロギング・CORSに対応するミドルウェア、パニックによるサーバーのクラッシュを防ぐリカバリーミドルウェアを備えています。ルートをグループ化してミドルウェアを共有でき、リクエストボディをJSONとしてバインドし、検証できます。レスポンスはJSON、XML、HTMLテンプレートでレンダリングできます。

Ginの利用にはGo 1.26以降が必要で、標準的なGo moduleのインポートでインストールできます。ドキュメントはgin-gonic.comで複数の言語で公開されています。また、プロジェクトでは補完用のexamplesリポジトリと、gin-contrib配下のミドルウェア集を管理しています。

主な機能

  • 01httprouter風のルーティングを基盤とするゼロアロケーションのルーター
  • 02ルートグループ化に対応したMartini風のAPI
  • 03認証、ロギング、CORS向けのミドルウェアシステム
  • 04パニックによるサーバーのクラッシュを防ぐ組み込みのリカバリーミドルウェア
  • 05JSONリクエストのバインドと検証、JSON・XML・HTMLのレンダリング

ユースケース

  • Goで高スループットのREST APIを構築する
  • 多数の同時リクエストを処理するマイクロサービスを開発する
  • ボイラープレートを最小限に抑えてWebサービスを試作する

クイックスタート

  1. 1

    Go 1.26 以降をインストールします

  2. 2

    コードで Gin をインポートします。ビルド時に Go が取得します

    import "github.com/gin-gonic/gin"
  3. 3

    サンプルを main.go として保存して実行します

    go run main.go
  4. 4

    http://localhost:8080/ping にアクセスしてレスポンスを確認します

使う前に知っておきたいこと

  • Go 1.26 以降が必要です。

トピック

よくある質問

gin とは?
Martini風のAPIを備え、REST API、Webアプリ、マイクロサービス向けに作られた、高性能なGo用HTTP Webフレームワークです。 GinはGoで書かれたHTTP Webフレームワークです。Martini風のAPIを提供し、ルーティングにはhttprouterを使用します。プロジェクトによると、Martini風フレームワークより最大40倍高速です。REST API、Webアプリケーション、マイクロサービスを対象としています。
gin は無料で使えますか?ライセンスは?
gin は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
gin は今もメンテナンスされていますか?
活発にメンテナンス中。gin の最終コミットは 2026年10月10日 です。
gin は何に使えますか?
Goで高スループットのREST APIを構築する 多数の同時リクエストを処理するマイクロサービスを開発する ボイラープレートを最小限に抑えてWebサービスを試作する
gin のインストール方法は?
Go 1.26 以降をインストールします コードで Gin をインポートします。ビルド時に Go が取得します: import "github.com/gin-gonic/gin" サンプルを main.go として保存して実行します: go run main.go http://localhost:8080/ping にアクセスしてレスポンスを確認します
gin はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/gin-gonic/gin

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト