A high-performance, fully specification-compliant GraphQL server library implemented in 100% safe Rust.
Async-graphql is a GraphQL server library implemented in Rust that provides a fully specification-compliant, high-performance backend for building GraphQL APIs. It solves the need for a type-safe, async-ready GraphQL solution in the Rust ecosystem, offering both static and dynamic schema options with extensive feature support.
Rust developers building GraphQL APIs for web services, microservices, or applications requiring a performant and type-safe GraphQL server implementation.
Developers choose async-graphql for its 100% safe Rust implementation, full GraphQL specification compliance, excellent performance, and seamless integration with popular Rust web frameworks, making it a robust and reliable choice for production GraphQL servers.
A GraphQL server library implemented in Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages Rust's type system for compile-time correctness, as shown in the static schema example where structs and traits define GraphQL types, reducing runtime errors.
Fully asynchronous with async/await support, optimized for low latency and minimal overhead, evidenced by its focus on performance and integration with async runtimes.
Works seamlessly with popular Rust web frameworks like Poem, Axum, Actix-web, Warp, and Rocket, as listed in the integrations section, easing adoption.
Includes advanced GraphQL features like Apollo Federation v2, subscriptions, file uploads, and security limits, making it production-ready and specification compliant.
Many features, such as dynamic schemas and Apollo extensions, require enabling specific crate features, adding configuration complexity and potential bloat.
Integration with web frameworks needs additional crates (e.g., async-graphql-poem), complicating dependency management and version synchronization.
Documentation is split across a book,中文文档, docs.rs, and GitHub, which can make it challenging to find cohesive, up-to-date guidance.