#rocket-framework #group #query-parameters #named-fields

nightly query_param_group

Rocket 框架的查询参数分组

2 个版本

使用旧的 Rust 2015

0.1.1 2017 年 7 月 16 日
0.1.0 2017 年 5 月 25 日

#8 in #named-fields

MIT/Apache

4KB

查询参数分组

Rocket 的组合查询参数

用法

extern crate query_param_group;
use query_param_group::{NamedFields, QueryParamGroup};

#[derive(FromForm)]
struct LimitParam {
  limit: i32,
}
impl NamedFields for LimitParam {
  const FIELDS: &'static [&'static str] = &["limit"];
}

#[derive(FromForm)]
struct UserNameParam {
  usercount: i32,
}
impl NamedFields for UserNameParam {
  const FIELDS: &'static [&'static str] = &["usercount"];
}

#[get("/users?<query_params>")]
fn get_users(
  query_params: QueryParamGroup<(LimitParam, UserNameParam)>
) -> i32 {
  let qp = query_params.get();
  // now, for some nonsensical code!
  qp.0.limit + qp.1.usercount
}

感谢

Sergio Benitez 帮助我走上了正确的道路!

依赖项

~6.5MB
~137K SLoC