Awesome
webapi-parser
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 | ||
Examples | JavaScript examples | Java examples |
Developer Documentation | JavaScript Typedoc | Javadocs |
📦 Examples
- Resolving a "WebApi" Model
- Navigating a "WebApi" Model
- Constructing a "WebApi" Model
- Translating RAML DataTypes to JSON Schemas
- Translating JSON Schemas to RAML DataTypes
- Migration guide (JS)
- Migration guide (Java)
- More 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.