Repolode
go-chi

go-chi/chi

GoでREST APIサービスを構築するための、ミドルウェアやルートグループ、サブルーターのマウントに対応した軽量なnet/http互換ルーター。

スター
22,981
フォーク
3,717
未解決の Issue
132
最終コミット
4 日前

これは何?

chiはGoのHTTPサービス向けルーターです。名前付きパラメーターやワイルドカードを含むURLパターンをハンドラーに割り当てます。標準ライブラリのnet/httpおよびcontextパッケージを基盤としているため、net/http向けに書かれたハンドラーやミドルウェアをそのまま利用できます。コアルーターは小さく、外部依存もありません。

ミドルウェアの組み合わせ、個別のルートへのインラインミドルウェアの適用、ルートグループ、パスプレフィックスへの独立したサブルーターのマウントに対応しています。これにより、大規模なREST APIを、それぞれ独自のミドルウェアスタックを持つ小さなパッケージに分割できます。リクエスト単位の値、キャンセル、タイムアウトはリクエストコンテキストを通じて引き継がれます。

オプションのミドルウェアパッケージには、リクエストID、ロギング、パニックリカバリー、圧縮、スロットリング、タイムアウト、クライアントIP検出などのコンポーネントが用意されています。関連パッケージでは、CORS、JWT認証、レート制限、docgenによるルートドキュメントの生成にも対応しています。

主な機能

  • 01ルートパターンで名前付きURLパラメーター、正規表現パラメーター、ワイルドカードを利用可能
  • 02ミドルウェアスタック、インラインミドルウェア、ルートグループに対応
  • 03パスプレフィックスへのサブルーターのマウントに対応
  • 04標準のnet/httpハンドラーおよびミドルウェアと完全互換
  • 05ロギング、リカバリー、圧縮、タイムアウトなどを備えた組み込みミドルウェアパッケージ

ユースケース

  • Goで大規模かつ保守しやすいREST APIサービスを構築する
  • モノリシックなHTTPサービスをモジュール化されたサブルーターに分割する
  • Goサービスにロギング、認証、タイムアウトなどの標準的なミドルウェアスタックを追加する

トピック

よくある質問

chi とは?
GoでREST APIサービスを構築するための、ミドルウェアやルートグループ、サブルーターのマウントに対応した軽量なnet/http互換ルーター。 chiはGoのHTTPサービス向けルーターです。名前付きパラメーターやワイルドカードを含むURLパターンをハンドラーに割り当てます。標準ライブラリのnet/httpおよびcontextパッケージを基盤としているため、net/http向けに書かれたハンドラーやミドルウェアをそのまま利用できます。コアルーターは小さく、外部依存もありません。
chi は無料で使えますか?ライセンスは?
chi は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
chi は今もメンテナンスされていますか?
活発にメンテナンス中。chi の最終コミットは 2026年10月18日 です。
chi は何に使えますか?
Goで大規模かつ保守しやすいREST APIサービスを構築する モノリシックなHTTPサービスをモジュール化されたサブルーターに分割する Goサービスにロギング、認証、タイムアウトなどの標準的なミドルウェアスタックを追加する
chi はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/go-chi/chi

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

関連プロジェクト