3 releases

0.1.2 May 2, 2021
0.1.1 Apr 29, 2021
0.1.0 Jan 29, 2021

#2708 in Parser implementations

MIT/Apache

67KB
1.5K SLoC

OApi

An OpenApi documents parser

Introduction

This librairy aims to help deserialize and work with OpenApi documents.

Built on top of serde and sppparse, it facilitate parsing OpenApi document, even with $ref pointers and user defined extensions.

Example

extern crate oapi;
extern crate sppparse;

use oapi::OApi;
use sppparse::SparseRoot;
use std::path::PathBuf;

fn main() {
    let doc: OApi = OApi::new(
        SparseRoot::new_from_file(PathBuf::from(concat!(
            env!("CARGO_MANIFEST_DIR"),
            "/tests/documents/test_docs/openapi.yml"
        )))
        .expect("to parse the openapi"),
    );

    doc.check().expect("not to have logic errors");
    println!("{:#?}", doc);
}

Dependencies

~8MB
~181K SLoC