微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Rocket - 带有 json 主体的状态

如何解决Rocket - 带有 json 主体的状态

我尝试在 Rust 的 Rocket 中返回带有错误的 json 正文。

pub fn error_status(error: Error) -> Status {
    match error {
        Error::NotFound => Status::NotFound,_ => Status::InternalServerError
    }
}

#[get("/user/<id>")]
pub fn get_user(id: i32,connection: DbConn) -> Result<Json<User>,Status> {

    UserService::show_user(id,&connection)
        .map(|u| Json(u))
        .map_err(|err| core::error_status(err))
}

当发生错误时,它返回 Status::NotFound 但对于 html 正文,我需要 json 正文。 我尝试了 Return JSON with an HTTP status other than 200 in Rocket 但没有成功。在该主题中,作者使用 JsonValue 我需要 Json(T) 作为动态 json 正文。我无法成功创建响应:/ 我可以使用 errorCatcher,但我不想在所有响应中使用它,我只需要在 api 响应中使用 json。

如何返回带有 json 正文的错误? 提前致谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。