Martini風のAPIを備え、REST API、Webアプリ、マイクロサービス向けに作られた、高性能なGo用HTTP Webフレームワークです。
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 の数値は毎日更新されます。
関連プロジェクト
Go標準のnet/httpを基盤とする、高速で軽量なWebフレームワーク。
fasthttpエンジンを基盤とした、REST APIやWebサーバーの構築に使えるExpress.jsに着想を得たGo向けWebフレームワーク。
最小限のセットアップで、本番運用に適したSpringベースのアプリケーションやサービスを構築できる、独自の方針を持つJavaフレームワークです。
HTTP/WebSocketサービスを構築するための、高速で使いやすいFlask風C++マイクロフレームワーク。ヘッダーオンリーで利用できます。
シリアライズ、認証ポリシー、viewset、Browsable APIを備えた、Django上でWeb APIを構築するためのツールキット。