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.