ページ内ナビ
概要
ChiはGoのnet/httpと互換性を持つ軽量Routerです。標準http.Handlerをそのまま使いながら、Route group、sub-router、Middleware chain、URL parameter、request contextを組み合わせてREST APIやHTTP serviceを構築できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
標準net/http HandlerのままRouterとMiddlewareを構成する
ChiのRouterはhttp.Handlerとして動作し、標準libraryやnet/http互換Middlewareを再利用できます。Route groupやinline Middleware、sub-routerのmountで大きなAPIを分割できます。
出典:[2]
request contextとroute parameterでAPI処理を分割する
URL parameter、Route/With/Mount、contextによるrequest-scoped valueやtimeout/cancellationを組み合わせ、resource単位にHandlerとMiddlewareを整理できます。
出典:[2]
向いている用途
標準HTTPとの互換性を保ちながらREST APIのRoutingを整理したい場合に向く
大規模なfull-stack frameworkより薄い層を好み、既存のhttp.Handler・標準library・周辺Middlewareを活用したいGo backendに適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]go-chi/chi — GitHub repository(2026-10-06)
- [2]Chi v5.3.2 — README(2026-10-06)
- [3]Chi v5.3.2 — go.mod(2026-10-06)
- [4]Chi v5.3.2 release(2026-10-06)
- [5]Chi MIT license(2026-10-06)
編集部からの補足
標準net/httpとの互換性を保ちながらRoutingとMiddleware構成を追加したい場合に扱いやすい選択肢です。Framework固有のrequest/response型へ寄せず、既存のhttp.Handler資産を再利用しやすい点が特徴です。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/go-chi/chi.git - 2
リポジトリへ移動
cd chi - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
22,929 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 3
- Open PR
- 70
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Dropwizard8,582 Stars
共通タグ 3件 · 共通カテゴリ 2件
Jetty・Jersey・Jackson・Metricsをまとめてproduction-readyなJava REST serviceを構築する
Java - Poem4,445 Stars
共通タグ 3件 · 共通カテゴリ 2件
routing・extractor・middlewareを組み合わせてRustのHTTP serverを構築するWeb framework
Rust - Salvo4,438 Stars
共通タグ 3件 · 共通カテゴリ 2件
HTTP/1・2・3、OpenAPI、WebSocketまで一体で扱うRust Web framework
Rust - gRPC-Go23,092 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
Protocol BuffersとHTTP/2でGo service間のtyped RPCを実装するgRPC runtime
Go - Flask74,897 Stars
共通タグ 3件 · 共通カテゴリ 1件
PythonでURLルーティング・request処理・Jinja templateを組み立てる軽量WSGIフレームワーク
Python - Express69,541 Stars
共通タグ 3件 · 共通カテゴリ 1件
routingとmiddlewareを薄いHTTP layerとして組み合わせ、Node.js API/Web backendを構築するframework
JavaScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。