作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
String-6ren">
在Rust中通过Rocket返回Json的最简单方法是什么?
#[post("/route", data = "<data>")]
fn route(someVariable: String) -> String {
// How can I return a json response here? {"a": "{someVariable}")
}
我试过了:
content::Json()
,但对我来说似乎太静态了。
最佳答案
如果您发现content::Json()
太静态,则可以使用rocket_contrib
包。使用此程序包将允许您传入实现serde程序包中的Deserialize
的结构
use rocket_contrib::json::Json;
use serde::Deserialize;
#[derive(Deserialize)]
struct User {
name: String,
age: u8,
alive: bool,
}
#[post("/route", data = "<data>")]
fn route(someVariable: String) -> String {
let user = User {
name: "Jon Snow".to_string(),
age: 21,
alive: true,
};
Json(user_from_id)
}
确保将依赖项添加到
Cargo.toml
serde = { version = "1.0", features = ["derive"] }
rocket_contrib = 0.4
有关rocket_contrib
https://api.rocket.rs/v0.4/rocket_contrib/json/struct.Json.html的更多信息
关于rust - 如何从Rust(火箭)HTTP端点返回JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63477161/
我是一名优秀的程序员,十分优秀!