Crates.io | openapi-schema |
lib.rs | openapi-schema |
version | 0.1.10 |
source | src |
created_at | 2023-05-24 06:42:04.039181 |
updated_at | 2023-06-21 02:13:09.838873 |
description | Rust structure mapped to Swagger |
homepage | https://github.com/denganjia/openapi-schema |
repository | https://github.com/denganjia/openapi-schema |
max_upload_size | |
id | 872703 |
size | 1,560,366 |
Rust structure mapped to openapi
You can use this package will openapi document into rust structure
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)
}
}
}
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