如何从Rust(Rocket)HTTP端点返回JSON?

如何从Rust(Rocket)HTTP端点返回JSON?,rust,rust-rocket,Rust,Rust Rocket,通过Rust中的Rocket返回Json最简单的方法是什么 #[post("/route", data = "<data>")] fn route(someVariable: String) -> String { // How can I return a json response here? {"a": "{someVariable}") } #[post(“/route”,data

通过Rust中的Rocket返回Json最简单的方法是什么

#[post("/route", data = "<data>")]
fn route(someVariable: String) -> String {
    // How can I return a json response here? {"a": "{someVariable}")
}
#[post(“/route”,data=”“)]
fn路由(someVariable:String)->String{
//我如何在这里返回json响应?{“a”:“{someVariable}”)
}

我尝试过:
content::Json()
但它对我来说太静态了。

如果你发现
content::Json()
太静态了,你可以使用
rocket\u contrib
包。使用这个包将允许你从serde包中传入一个实现
反序列化的结构

使用rocket\u contrib::json::json;
使用serde::反序列化;
#[导出(反序列化)]
结构用户{
名称:String,
年龄:u8,
活着的:布尔,
}
#[发布(“/route”,data=”“)]
fn路由(someVariable:String)->String{
让用户=用户{
名称:“Jon Snow”。to_string(),
年龄:21岁,
活着:是的,
};
Json(来自用户id的用户)
}
确保将依赖项添加到您的
Cargo.toml

serde = { version = "1.0", features = ["derive"] }
rocket_contrib = 0.4
更多关于rocket_contrib的信息