String-6ren">
gpt4 book ai didi

rust - 如何从Rust(火箭)HTTP端点返回JSON?

转载 作者:行者123 更新时间:2023-12-03 11:44:53 29 4
gpt4 key购买 nike

在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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com