OSS探訪GitHubでログイン

型安全なSchema・resolver・subscriptionをRustで実装するGraphQL server library

スコアの見方

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

Stars
3,682
主要言語
Rust
ライセンス
Apache-2.0
リポジトリ最終更新
2026/04/21
ページ内ナビ

概要

async-graphqlはRust向けGraphQL server libraryです。static/dynamic schema、async resolver、subscription、file upload、DataLoader、Apollo Federationなどを提供し、Poem・Axum・Actix WebなどのHTTP serverへ接続できます。

特徴と向いている用途

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

主な特徴

Rust型とmacroからGraphQL Schemaとresolverを定義する

Objectなどのprocedural macroを使ってRustの型・methodをGraphQL objectとfieldへ対応させます。static schemaだけでなくdynamic schemaも提供し、async/awaitでresolverを実装できます。

出典:[2]

subscription・DataLoader・Federationまでserver機能を拡張する

WebSocket subscription、batch query、DataLoader、persisted query、Apollo Federation v2、custom extensionなどをfeatureとして組み合わせられます。Web frameworkとの接続はintegration crateで分離されています。

出典:[2]

向いている用途

GraphQL APIをRust backendへ組み込みたいserviceに向く

Poem、Axum、Actix Web、Warp、Rocketなど既存HTTP stackへGraphQL execution layerを追加したい場合に適します。schema typeとresolver implementationをRust側で一体管理できます。

出典:[2]

導入前の確認

query制限とstable 7.2系・8.0 RC系を分けて評価する

READMEはproductionでquery complexity・depth・directive数を制限することを推奨しています。安定版7.2.1のCargo manifestはRust 1.89を要求し、default branchは8.0.0-rc系のため、production導入ではstable APIとRCのbreaking changeを混同しないでください。

出典:[2][3][4]

参考にした公式資料

  1. [1]async-graphql/async-graphql — GitHub repository(2026-10-06)
  2. [2]async-graphql 7.2.1 — README(2026-10-06)
  3. [3]async-graphql 7.2.1 — Cargo.toml(2026-10-06)
  4. [4]async-graphql — current development branch(2026-10-06)
編集部からの補足

SchemaをRust型とprocedural macroで表現し、Poem・Axumなどへintegration crateで接続する構成です。productionではquery depth・complexity・directive数の上限を明示し、公開APIの計算量を無制限にしない設計が重要です。

3ステップで試す

  1. 1

    安定版7.2.1のsourceとexampleを取得する

    crates.ioの7.2.1 packageに対応するcommitへ固定し、同時点の公式examples submoduleを取得します。

    git clone https://github.com/async-graphql/async-graphql.git && cd async-graphql && git checkout 86a19327ec14e20b702de79b5a761fb735ac2428 && git submodule update --init
  2. 2

    libraryをbuildする

    stable 7.2.1 sourceをbuildし、Rust toolchainとdependencyが揃っていることを確認します。

    cargo build
  3. 3

    Axum Star Wars exampleを起動する

    公式examples repositoryのAxum integrationを実行し、GraphQL schemaとHTTP server integrationを確認します。

    cd examples && cargo run --bin axum-starwars
公式READMEで確認

成長

成長の推移 · 直近30日

3,682 Stars

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

Built with

カテゴリとタグ

GitHubデータ

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

GitHub Topics

  • async-await
  • graphql
  • hacktoberfest
  • rust
  • rust-crate
  • rust-lang
  • server
Stars
3,682
Forks
536
Watchers
28
Open Issues
255
Contributors
254
所有者種別
Organization
主要言語
Rust
ライセンス
Apache-2.0
リポジトリ最終更新
2026/04/21

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

情報の誤りを報告

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

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