openapi-schema

Crates.ioopenapi-schema
lib.rsopenapi-schema
version0.1.10
sourcesrc
created_at2023-05-24 06:42:04.039181
updated_at2023-06-21 02:13:09.838873
descriptionRust structure mapped to Swagger
homepagehttps://github.com/denganjia/openapi-schema
repositoryhttps://github.com/denganjia/openapi-schema
max_upload_size
id872703
size1,560,366
池鱼 (denganjia)

documentation

README

OpenApi-Schema

Rust structure mapped to openapi

You can use this package will openapi document into rust structure

Use

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)
        }
    }
}

Notice

Because some words are reserved words in rust, so will the json structure mapped to rust after structure, rust in the field name is different from some of json

Rust Json
r#type type
r#enum enum
r#in in
reference $ref

For using camelCase in json representation of the field, use snake_case in rust

Commit count: 15

cargo fmt