如何解决如何在表单中使用 Rocket_contrib::Uuid?
我使用的是 0.5.0-dev 版本的 Rocket 和 Rocket_contrib。我想在表单中使用 Uuid
,但出现以下编译错误:
特性 `FromFormField` 没有为 `rocket_contrib::uuid::Uuid` 实现
根据 docs Uuid
实现 FromFormField
,我不明白这一点。我做错了什么?
#[macro_use]
extern crate rocket;
use rocket::data::TempFile;
use rocket::form::{datafield,Form};
use rocket_contrib::uuid::Uuid;
#[derive(FromForm)]
struct FileUploadForm<'v> {
id: Uuid,file: TempFile<'v>,}
#[post("/upload",data = "<data>")]
fn upload(data: Form<FileUploadForm>) -> Result<String,std::io::Error> {
let id = "uuid".to_string();
Ok(id)
}
fn rocket() -> rocket::Rocket {
rocket::ignite().mount("/",routes![upload])
}
#[rocket::main]
async fn main() {
rocket().launch().await;
}
解决方法
我的 Cargo.toml
不正确,我没有正确包含 rocket_contrib
。正确的版本如下
[package]
name = "stackoverflow"
version = "0.1.0"
edition = "2018"
[dependencies]
rocket = { git = "https://github.com/SergioBenitez/Rocket",version = "0.5.0-dev" }
[dependencies.rocket_contrib]
git = "https://github.com/SergioBenitez/Rocket"
version = "0.5.0-dev"
default-features = false
features = ["uuid"]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。