如何解决Rocket发生错误时如何返回500以外的状态码?
当用户输入的密码太短时,我试图让我的 Rocket 后端返回 HTTP 400。当我尝试使用太短的密码发送请求时,请求会出现混乱并返回 500,因为我使用的是 Err()
函数,这绝对不是正确的处理方式。
这是我的功能:
#[post("/addUser",format = "json",data = "<new_user>")]
pub fn add_user(conn: CameraServerDbConn,new_user: Json<Insertableuser>) -> &'static str {
let new_user_decoded = new_user.into_inner();
if new_user_decoded.password.chars().count() < 8 {
return Err(Status::BadRequest).unwrap();
}
let new_user_ready = Insertableuser {
username: new_user_decoded.username,password: hash(new_user_decoded.password,DEFAULT_COST).unwrap(),};
insert(new_user_ready,&conn).unwrap();
return "Hello";
}
返回不同状态代码的正确方法是什么?如果我只是尝试返回状态,Rust 会抱怨我返回的是状态而不是 str。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。