OSS探訪GitHubでログイン

ルーティング・extractor・Tower middlewareでRustのHTTP APIを構築する

OSS規模スコア 293.2OSS健全度 100
スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
27,382
主要言語
Rust
ライセンス
MIT
リポジトリ最終更新
2026/10/06
ページ内ナビ

概要

AxumはRust向けのHTTP routing・request handling libraryです。macroに依存しないRouter API、requestを型へ変換するextractor、response生成を提供し、middlewareにはTowerのService ecosystemを利用します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

RouterとhandlerでHTTP endpointを構成する

Axumはmacroを使わないrouting APIでrequestをhandlerへ割り当て、extractorでpath・query・bodyなどを宣言的に取り出せます。responseもRustの型から組み立てやすく、API実装の定型処理を抑えます。

出典:[2]

Tower middlewareをそのまま共有する

Axumは独自middlewareではなくtower::Serviceを利用します。timeout、tracing、compression、authorizationなどTower/Tower HTTPのmiddlewareを組み合わせ、HyperやTonicを使うserviceとも部品を共有できます。

出典:[2]

向いている用途

型を使ってHTTP APIを明示的に組み立てたいRust backendに向く

Router、extractor、handlerを小さく組み合わせたいAPI serverやWeb backendに適します。Tokioをruntimeとして使いながら、middlewareをTower ecosystemへ寄せたい構成にも向きます。

出典:[2]

導入前の確認

0.8系と開発中0.9系のbreaking changeを混同しない

安定版0.8.9のMSRVはRust 1.80です。default branchは0.9へ向けたbreaking changeを含むため、production導入ではrelease tagまたは0.8.x branchのAPIを基準に確認する必要があります。

出典:[2][3]

参考にした公式資料

  1. [1]tokio-rs/axum — GitHub repository(2026-10-06)
  2. [2]Axum 0.8.9 — README(2026-10-06)
  3. [3]Axum 0.8.9 release(2026-10-06)
編集部からの補足

Axum独自のmiddleware体系を増やさずTowerのService ecosystemを使う点が設計上の特徴です。現在のmain branchは0.9向けのbreaking changeを含むため、導入評価はrelease済み0.8.xと分けて確認してください。

3ステップで試す

  1. 1

    確認済みのAxumを取得する

    安定版0.8.9のtagを固定して取得します。README記載のMSRVはRust 1.80です。

    git clone --depth 1 --branch axum-v0.8.9 https://github.com/tokio-rs/axum.git && cd axum
  2. 2

    Hello World exampleを起動する

    公式workspaceのHello World exampleを実行し、127.0.0.1:3000でAxum serverを起動します。

    cargo run -p example-hello-world
  3. 3

    HTTP responseを確認する

    別端末からlocalhostへrequestを送り、Hello WorldのHTML responseが返ることを確認します。

    curl http://127.0.0.1:3000/
公式READMEで確認

成長

成長の推移 · 直近30日

27,382 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • http
  • routing
  • rust
Stars
27,382
Forks
1,496
Watchers
150
Open Issues
87
Contributors
439
所有者種別
Organization
主要言語
Rust
ライセンス
MIT
リポジトリ最終更新
2026/10/06

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?