Rust 火箭测试多部分/数据表单失败,422(不可处理实体)
我想在这里测试我的上传路线。我有一个测试通过rocket测试客户端调用这个路由,但是我总是得到Rust 火箭测试多部分/数据表单失败,422(不可处理实体),rust,rust-rocket,Rust,Rust Rocket,我想在这里测试我的上传路线。我有一个测试通过rocket测试客户端调用这个路由,但是我总是得到状态{code:422,原因:“Unprocessable Entity”}作为响应 然而,我无法找出我的请求主体出了什么问题 另外,如果有另一种方法来测试多部分/数据表单,那么它是非常受欢迎的 测试失败,但在运行应用程序时,我可以成功调用上传路由,我的curl命令是:curl-X POST-H“Accept:application/json”-F file=@/home/username/Downlo
状态{code:422,原因:“Unprocessable Entity”}
作为响应
然而,我无法找出我的请求主体出了什么问题
另外,如果有另一种方法来测试多部分/数据表单,那么它是非常受欢迎的
测试失败,但在运行应用程序时,我可以成功调用上传路由,我的curl命令是:curl-X POST-H“Accept:application/json”-F file=@/home/username/Downloads/example.jpg-F id=“1588a509-3517-49f2-9dea-1791c2e99db9”-F allowed_file\u types=“image/jpeg”http://localhost:8000/upload
我还使用附加参数--trace ascii-
运行了curl,并对请求进行了处理,但在测试期间,我找不到导致422响应的任何差异,但在使用curl时仍然有效
梅因
#[macro_use]外部板条箱火箭;
使用rocket::data::TempFile;
使用rocket::form::form;
使用rocket_contrib::json::{json,JsonValue};
使用rocket_contrib::uuid::uuid;
#[衍生(形式)]
pub struct FileUploadForm,
}
#[发布(“/upload”,data=”“)]
pub async fn upload(mut form:form我在id部分后缺少一行新行,正确的代码如下。我对导致错误的一行和我添加了不必要边界的另一行进行了注释
#[macro_use]外部板条箱火箭;
使用rocket::data::TempFile;
使用rocket::form::form;
使用rocket_contrib::json::{json,JsonValue};
使用rocket_contrib::uuid::uuid;
#[衍生(形式)]
pub struct FileUploadForm,
}
#[发布(“/upload”,data=”“)]
发布异步fn上载(mut form:form
[package]
name = "example"
version = "0.1.0"
edition = "2018"
[dependencies]
rocket = { git = "https://github.com/SergioBenitez/Rocket", version = "0.5.0-dev" }
image = { version = "^0"}
[dependencies.rocket_contrib]
git = "https://github.com/SergioBenitez/Rocket"
version = "0.5.0-dev"
default-features = false
features = ["json", "uuid"]