/webapi-parser

API Spec parser based on AMF. Currently supports RAML 0.8, 1.0 and OAS 2.0.

Primary LanguageScalaOtherNOASSERTION

webapi-parser

Build status Coverage Status

API Spec parser based on AMF. Currently supports RAML 0.8, RAML 1.0, OAS 2.0 and OAS 3.0(beta).

This project is a thin wrapper that exposes API Spec-related capabilities from AMF. It is written in Scala and offered in two versions: JavaScript and Java.

📃 Documentation

JavaScript Java
Installation NPM Gradle/Maven
Object-oriented interface "WebApi" Model "WebApi" Model
Package NPMJS Maven Central
Examples JavaScript examples Java examples
Developer Documentation JavaScript Typedoc Javadocs

📦 Examples

🛠 Installation

JavaScript

Install the npm package:

$ npm install webapi-parser

and require/reference as follows:

const wap = require('webapi-parser').WebApiParser

Usage examples are located in the examples directory.

Java

Specify webapi-parser as a dependency and set both MuleSoft and Jitpack repositories.

Gradle:

dependencies {
    compile 'org.raml:webapi-parser:x.y.z'
}
...
repositories {
    maven {
        url "https://repository-master.mulesoft.org/nexus/content/repositories/releases"
    }
    maven {
        url "https://jitpack.io"
    }
    mavenCentral()
}

Maven:

<dependency>
    <groupId>org.raml</groupId>
    <artifactId>webapi-parser</artifactId>
    <version>X.Y.Z</version>
</dependency>
...
<repositories>
    <repository>
        <id>MuleSoftReleases</id>
        <url>https://repository-master.mulesoft.org/nexus/content/repositories/releases</url>
    </repository>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

To install snapshot versions set additional Sonatype snapshots repository.

Gradle:

...
repositories {
    ...
    maven {
        url 'https://oss.sonatype.org/content/repositories/snapshots'
    }
}

Maven:

...
<repositories>
    ...
    <repository>
        <id>SonatypeSnapshots</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </repository>
</repositories>

Usage examples are located in the examples directory.


If you wish to contribute to this project, please review our Contribution Guidelines.