gpt4 book ai didi

rust - 如何在 actix 处理程序中设置查询参数的默认选项?

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

我想为 actix 中的查询值设置默认值。
我知道有一个Default Rust 标准库中结构的特征,但老实说,我不知道如何在这种情况下应用它。
在我的情况下,请求查询可能会也可能不会提供分页值页面和 page_size .
这是我想做的事情:
src/adapters.rs(我的处理程序模块)

pub mod Basic {
#[derive(Deserialize, Default)]
pub struct ListQuery {
page: i64,
per_page: i64,
}

pub async fn articles_list(listQuery: Query<ListQuery>) -> impl Responder {
let query_options = ListQuery;
// should default to { page: 1, per_page: 10 }
// ...
}
}
那么,我怎么能拥有例如 per_page如果没有给出查询参数,则值为 10?

最佳答案

[derive(Default)]宏通过调用 ::default 派生默认实现在所有元素上。对于 i64,结果为 0。您真正想要做的是实现 Default你自己:

#[derive(Deserialize)]
pub struct ListQuery {
page: i64,
per_page: i64,
}
impl Default for ListQuery {
fn default() -> Self {
ListQuery {
page: 1,
per_page: 10
}
}
}
这现在应该为您提供所需的默认值。

关于rust - 如何在 actix 处理程序中设置查询参数的默认选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64350894/

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