openapi-struct-gen 0.1.4

Generate rust structures from an openapi 3.0 definition
Documentation

This crate generates Rust structures from OpenAPI 3.0 definitions.

Example

Cargo.toml:

[dependencies]
serde = "1.0.142"
openapi-struct-gen = "*"

[build-dependencies]
openapi-struct-gen = { version = "*", features = ["build"] }

build.rs:

use openapi_struct_gen::generate;

fn main() {
    generate(
        format!(
            "{}/{}",
            std::env::var("CARGO_MANIFEST_DIR").unwrap(),
            "api.yaml"
        ),
        format!("{}/{}", std::env::var("OUT_DIR").unwrap(), "oapi.rs"),
        &["Clone", "Serialize", "Deserialize"],
        &[("serde", "Serialize"), ("serde", "Deserialize")],
    )
    .unwrap();
}

code:

openapi_struct_gen::include!("oapi");

Goals

  • Generate Rust structures from Open API 3.0 definitions

Non Goals

  • Generate web servers and clients