用途:面向使用 Rust 构建 Web 服务与 API 的开发者,围绕 Rocket 框架提供路由、请求守卫、状态管理与中间件等核心知识,帮助编写类型安全、少样板代码的服务端程序。
主要能力与用法:资料给出 Cargo.toml 依赖示例,包括 rocket(启用 json 特性)、serde、serde_json 与 tokio;基础启动方式为用 #[launch] 标注函数并调用 rocket::build().mount()。路由部分演示 #[get]、#[post] 等宏、路径参数(如 <id>、<path..>)以及通过 FromForm 结构接收查询参数,并可按 /api/v1 等前缀挂载多组路由。请求守卫部分覆盖 JSON 请求体(Json<T>)、表单(Form<T>)和 Cookie(CookieJar)。状态管理通过 manage 注入 State<T>,示例使用 AtomicU64 计数;中间件通过 fairing 的 AdHoc::on_liftoff 实现。完整参考见 advanced.md,涉及自定义守卫(认证、API key)、fairings(CORS、计时)、数据库状态、错误捕获器与测试模式;也可用 mcp__documentation__fetch_docs 并指定 technology: rocket 获取更全面文档。
适用场景:需要类型安全路由、结构化请求解析与可组合中间件的 Rust API 服务。
限制与注意:资料指出不要在 Axum 项目中使用(Axum 更契合 Tower 生态)、不要在 Actix-web 项目中使用(Actix 有更多性能优化);Rocket 需要 nightly(v0.5 可在 stable 上运行)。反模式包括到处使用 Outcome::Forward、不使用请求守卫、缺少同步原语的共享可变状态、无数据库连接池、在 Rocket.toml 中硬编码密钥。故障排查涵盖不稳定特性错误、路由 rank 冲突、守卫报错、启动时数据库连接错误与 CORS 问题。生产检查清单涉及 Rocket.toml 配置、CORS fairing、自定义错误捕获器、认证守卫、数据库连接池、健康检查端点与 release 密钥。资料未提供具体收费、价格与效果数据。