You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么我的Rocket框架健康检查端点返回404 Not Found错误?

问题原因
  • rocket_healthz::healthz!() 宏默认生成的健康检查路由绑定的路径为 /healthz,你在调用 mount 方法时指定了路由前缀为 /actuator/health,两者拼接后实际生效的健康检查完整路径为 http://127.0.0.1:11014/actuator/health/healthz,和你curl请求的路径不匹配,因此返回404错误。
  • 你也可以在Rocket服务启动时查看控制台打印的已挂载路由列表,确认所有接口的实际路径。
修复方案

根据你需要的访问路径可以选择以下任意一种方案:

方案1:调整挂载前缀,使用宏默认路径

如果可以接受访问路径后缀带/healthz,修改挂载的前缀为/actuator即可:

rocket_healthz::healthz!();

#[launch]
fn rocket() -> _ {
    rocket::build()
        .mount("/actuator", routes![healthz])
}

修改后访问 http://127.0.0.1:11014/actuator/healthz 即可拿到健康检查结果。

方案2:自定义路由,精确匹配指定路径

如果需要严格使用/actuator/health作为访问路径,可以不用依赖第三方宏,自行实现简单的健康检查端点,兼容性更高:

#[get("/health")]
fn health_check() -> &'static str {
    "ok"
}

#[launch]
fn rocket() -> _ {
    rocket::build()
        .mount("/actuator", routes![health_check])
}

修改后直接访问你原来的curl地址即可正常返回结果。


内容的提问来源于stack exchange,提问作者Dolphin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:36:04