#macro-derive #http #derive #macro

macro query_params

Rust 宏,用于自动为任意结构体实现序列化到 HTTP 查询参数的功能

1 个不稳定版本

使用旧 Rust 2015

0.1.0 2017 年 8 月 19 日

#823#macro-derive

21 每月下载量
2 个 crate 中使用(通过 apify-client

MIT 许可证

9KB
83

Build Status Rust version

QueryParams Derive

Rust 自定义 derive,用于自动将任意结构体序列化到 HTTP 查询参数。简单的 #[derive(QueryParams)] 将为你的结构体生成一个 to_query_params 函数。

工作原理

#[macro_use]
extern crate query_params;

#[derive(QueryParams)]
struct PullRequestsParametersApi {
    page: i32,
    sort: bool,
    direction: String,
    state: Vec<String>,
    // .. other interesting fields ..
} 

fn main() {
    let pr = PullRequestsParametersApi {
        page: 2,
        sort: true,
        direction: "asc",
        state: vec!["open".to_string(), "closed".to_string()],
    }

    println!("{}", pr.to_query_params()); // => ?page=2&sort=true&direction=asc&state=open,closed
}

开始使用

只需两步即可完成

  1. query_params 添加到你的 Cargo.toml
  • 手动

  • 或使用 cargo-edit

    cargoadd derive_builder

  1. 使用 #[derive(QueryParams)] 注释你的结构体

免责声明 ❗

  • 元组结构和单元结构不受支持,因为它们没有字段名称。

文档

所有功能和故障排除技巧的详细说明。

贡献

请随意提交 pull request 😃

依赖项

~1.5MB
~41K SLoC