Ohhnews

分类导航

$ cd ..
Jetbrains Blog原文

RustRover 2026.2 支持 Axum:更快构建 Web 后端

#rustrover#axum#rust#web后端开发#路由导航

[LOADING...]

Axum 支持是 Rust 生态中最流行的 Web 框架之一,也是 RustRover 2026.2 版本 的亮点之一。如果你正在使用 Rust 构建 Web 服务、API 或分布式系统,本次更新将让你能够更轻松地导航路由、理解请求流,并直接在 IDE 中生成客户端调用。让我们进一步了解为什么 Web 开发已成为 Rust 的重要用例、Axum 为何流行,以及 RustRover 如何帮助你更高效地使用它。

为什么使用 Rust 进行 Web 后端开发?

多年来,Rust 主要与系统编程、嵌入式开发和性能关键型基础设施相关联。虽然这些领域依然重要,但该语言已经扩展到了后端和 Web 开发领域。根据 2025 开发者生态系统 调查报告,使用 Rust 构建 Web 后端已成为第三大流行用例,这表明 Rust 在构建服务和 API 方面越来越受到信任。这种转变意义重大,因为后端系统通常寿命长且业务关键,Rust 在此类应用中的普及,体现了人们对其稳定性和生态系统支持的信心。

Rust 在后端领域并非与 Node.js 或 Django 扮演相同的角色。它出现在风险较高的场景中:基础设施 API、数据处理管道、高吞吐量微服务、边缘计算和安全敏感型服务——在这些场景中,内存安全漏洞可能造成严重后果。

Rust 生态系统提供了多个成熟的 Web 框架和库,各有其优势:

  • Actix Web 以其高性能和成熟的生态系统而闻名。
  • Rocket 专注于开发者友好的 API 和约定。
  • warp 强调可组合的过滤器与类型安全的路由。
  • Poem 提供简洁性并内置 OpenAPI 支持。
  • Axum 强调人体工程学和模块化,用于 HTTP 路由和请求处理。

其中,Axum 凭借其人体工学设计、模块化架构以及与 Tokio 的无缝集成,已成为最广泛采用的选择之一。其流行度体现在 crates.io 上每日超过 85 万次的下载量和 GitHub 上超过 2.5 万颗星。

什么是 Axum?

Axum 是一个专注于人体工程学和模块化的 HTTP 路由与请求处理库。它由 Tokio 团队维护——也就是 Rust 最广泛使用的异步运行时的幕后团队——这在设计上体现得淋漓尽致。Axum 建立在 Rust 异步生态系统已有的基础设施之上,并且尽可能不碍事。

从高层次来看,Axum 让你能够:

  • 使用无宏的 API 将请求路由到处理程序——无需 #[get("/")] 装饰器,只需普通的 Rust 函数。
  • 使用提取器声明性地解析请求,并对路径参数、查询字符串和请求体进行编译时验证。
  • 应用简单且可预测的错误处理模型,使错误路径保持显式。
  • 以最少的样板代码生成响应。
  • 充分利用 Towertower-http 生态系统中的中间件、服务和工具。

最后一点正是 Axum 区别于其他框架的地方。Axum 没有自己的中间件系统——它直接使用 tower::Service。这意味着 Axum 只需引入 Tower 中间件,即可免费获得超时、追踪、压缩、限速和授权等功能。这也意味着中间件可以在基于 hyperTonic 构建的应用程序之间共享——更广泛的 Tokio 生态系统就是你的生态系统。

Axum 设计用于与 Tokiohyper 配合使用。目前运行时和传输层独立性并非目标,这使得设计保持专注,集成紧密。你可以在文档中了解更多信息。

Axum 在生产环境中的应用

Axum 的采用范围遍及商业基础设施和开源工具。官方的 Rust 包注册表 crates.io 就运行在 Axum 上。它是现存最高调门的 Rust Web 应用程序之一,并且在每次 cargo build 时服务于整个 Rust 社区。Cloudflare Workers 通过 workers-rs crate 直接支持 Axum,允许开发者使用与标准服务相同的 Axum 路由模型编写 Cloudflare 边缘函数。

除此之外,Axum 已成为多个 Rust Web 栈和起始模板的推荐基础。Loco,这个受 Rails 启发的 Rust 框架,就构建在 Axum 之上。它还被 Lichess 大量用于生产环境中的几个核心后台服务和微服务。当有人问“如何在 Rust 中构建 Web 服务?”时,Axum 正日益成为默认答案。

更快速地在 Axum 路由中导航并生成 Reqwest 调用

在 Axum 项目中,路由字符串是服务的入口点,但追溯回处理程序或相关的客户端调用,通常仍需要手动搜索代码。

RustRover 2026.2 引入了对 Axum 和 Reqwest 库的支持。IDE 现在能理解项目中的路由,支持 URL 解析、端点发现以及路由与处理程序之间的导航。路由调用包含引用和内联提示,使你能够一目了然地理解端点之间的关系。本版本还增加了 Reqwest 支持,提供请求生成和导航功能,帮助你以更少的手动设置创建客户端调用。

路由调用包含引用和内联提示,让你能够快速了解端点之间的关系: [LOADING...]

  • 仅使用键盘即可从路由字符串导航到其处理程序,反之亦然。
  • 路由声明上的内联提示显示 HTTP 方法和内联路径,使 API 的全貌在编辑器中可见。
  • Reqwest 支持,包括请求生成和导航功能,帮助你以更少的手动设置创建客户端调用。RustRover 可以为给定的 Axum 端点生成 Reqwest 调用,并自动连接正确的 URL。

在 RustRover 中尝试

在本版本中,Axum 支持标记为初始版本。我们将根据你的反馈持续投入这一领域,因此如果某些功能不如预期,请报告 问题 或在下方留言。

致谢

这一切都离不开 Tokio 团队 和 Axum 贡献者的持续努力,他们构建并维护了卓越的开源基础设施。Axum 是免费、MIT 许可的,并日益受到全球生产系统的依赖。如果 Axum 是你日常工作的一部分,请考虑在 GitHub 上赞助 Tokio 项目。开源可持续性至关重要,Rust 生态系统会因每一位能够持续贡献的贡献者而变得更好。

我们感谢 Rust 社区中每一位鼓励我们优先进行此次集成并提供反馈的朋友。

下载 RustRover 2026.2,亲自尝试其 Axum 支持。我们很想知道你正在构建什么!
在 RustRover 中尝试 Axum