gpt4 book ai didi

rust - 如何使用 Rust 关键字创建端点作为查询动态参数?

转载 作者:行者123 更新时间:2023-11-29 07:50:05 25 4
gpt4 key购买 nike

我使用 Rocket 库,我需要创建一个端点,其中包含动态参数“type”,一个关键字。

我试过类似的东西,但它没有编译:

#[get("/offers?<type>")]
pub fn offers_get(type: String) -> Status {
unimplemented!()
}

编译错误:

error: expected argument name, found keyword `type`

在 rocket 中是否可以有一个名为“type”的参数?由于我遵循的规范,我无法重命名参数。

最佳答案

命名查询参数与保留关键字相同有一个已知的限制。它在关于 Field Renaming 主题的文档中突出显示.它确实提到了如何使用一些额外的代码来解决您的问题。您的用例示例:

use rocket::request::Form;

#[derive(FromForm)]
struct External {
#[form(field = "type")]
api_type: String
}

#[get("/offers?<ext..>")]
fn offers_get(ext: Form<External>) -> String {
format!("type: '{}'", ext.api_type)
}

对于 /offers?type=Hello,%20World! 的 GET 请求,它应该返回 type: 'Hello, World!'

关于rust - 如何使用 Rust 关键字创建端点作为查询动态参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54055375/

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