#openapi #swagger #schema #oas

openapi-schema

Rust 结构映射到 Swagger

11 个版本

0.1.10 2023 年 6 月 21 日
0.1.9 2023 年 6 月 14 日
0.1.5 2023 年 5 月 25 日

#1073 in 解析器实现

Download history 71/week @ 2024-04-01

99 每月下载量

MIT 许可证

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