11 个版本
0.1.10 | 2023 年 6 月 21 日 |
---|---|
0.1.9 | 2023 年 6 月 14 日 |
0.1.5 | 2023 年 5 月 25 日 |
#1073 in 解析器实现
99 每月下载量
98KB
1K SLoC
OpenApi-Schema
Rust 结构映射到 openapi
您可以使用此包将 openapi 文档转换为 Rust 结构
使用
cargo add openapi-schema
use openapi_schema::{from_path, Doc};
fn main() {
let filepath = "./index.json";
let json = from_path(filepath);
match json {
Ok(some_doc) => match some_doc {
Doc::V2(swagger) => {
println!("swagger version:{}", swagger.swagger)
}
Doc::V3(openapi) => {
println!("openapi version:{}", openapi.openapi)
}
},
Err(e) => {
println!("{:?}", e)
}
}
}
注意
由于一些单词是 Rust 的保留字,所以将 JSON 结构映射到 Rust 结构后,Rust 字段名与 JSON 中的一些不同
Rust | Json |
---|---|
r#type | type |
r#enum | enum |
r#in | in |
reference | $ref |
为了在字段的 JSON 表示中使用驼峰命名法,在 Rust 中使用 snake_case
依赖项
~0.8–1.7MB
~38K SLoC