6 releases

Uses old Rust 2015

0.1.5 Apr 30, 2017
0.1.4 Apr 26, 2017

#2728 in Database interfaces

Download history 97/week @ 2024-07-22 93/week @ 2024-07-29 37/week @ 2024-08-05 66/week @ 2024-08-12 55/week @ 2024-08-19 50/week @ 2024-08-26 81/week @ 2024-09-02 69/week @ 2024-09-09 89/week @ 2024-09-16 223/week @ 2024-09-23 51/week @ 2024-09-30 56/week @ 2024-10-07 60/week @ 2024-10-14 87/week @ 2024-10-21 55/week @ 2024-10-28 81/week @ 2024-11-04

286 downloads per month
Used in 2 crates (via service_policy_kit)

MIT license

94KB
190 lines

open api Build Status

Rust crate for serializing and deserializing open api documents

Documentation

install

add the following to your Cargo.toml file

[dependencies]
openapi = "0.1"

usage

extern crate openapi;

fn main() {
  match openapi::from_path("path/to/openapi.yaml") {
    Ok(spec) => println!("spec: {:?}", spec),
    Err(err) => println!("error: {}", err)
  }
}

Doug Tangren (softprops) 2017


lib.rs:

Openapi provides structures and support for serializing and deserializing openapi specifications

Examples

Typical use deserialing an existing to a persisted spec to rust form of visa versa

The hyper client should be configured with tls.

extern crate openapi;

fn main() {
  match openapi::from_path("path/to/openapi.yaml") {
    Ok(spec) => println!("spec: {:?}", spec),
    Err(err) => println!("error: {}", err)
  }
}

Errors

Operations typically result in a openapi::Result Type which is an alias for Rust's built-in Result with the Err Type fixed to the openapi::errors::Error enum type. These are provided using error_chain crate so their shape and behavior should be consistent and familiar to existing error_chain users.

Dependencies

~3.5–9.5MB
~113K SLoC