#查询参数 #删除 # #中间件 #tower中间件 # #derive-deserialize

remove_empty_query_params

tower中间件用于删除空查询参数

2个版本

0.1.1 2023年7月6日
0.1.0 2023年7月2日

#17 in #空

MIT许可证

6KB
87

no_empty_query_params

摘要

中间件层,用于删除空值参数。

动机

nginx配置中,当重写URL(例如传递到上游服务器)时,可以使用$arg_插值查询参数

示例

proxy_pass http://upstream/some/route?format=$arg_param;

Axum使得编写自动反序列化查询参数的处理程序变得容易

#[derive(Deserialize)]
enum Format {
    Json,
    Html,
    Text
}

#[derive(Deserialize)]
struct RouteArgs {
    format: Option<Format>
}

不幸的是,上述示例将失败。因为format=总是无条件通过nginx配置传递到处理程序,默认反序列化将尝试从""反序列化Format

依赖项

~1MB
~17K SLoC