create-raml
Create RAML from object or Express.js application
v3.4.6
Dependencies
- Node.js v.6.0 or higher
Installation
npm i -S create-raml
Create RAML based on Express.js
Simple express example
var express = ;var Raml = ; var app = ; var raml = express: app ; // regular app express workflow ( app.get, app.post, app.listen... etc )
Get created raml
curl 127.0.0.1:3000/api.raml
Extended express example
- extended Express API example - movies database API example ( GET, POST, DELETE methods; RAM data storage ). Result example as html: Movies Database API documentation
Simple example
var express = ;var Raml = ; var app = ;var raml = express: app ; app;app;app;app; app;
curl 127.0.0.1:3000/api.raml
Result
#%RAML 1.0
title:
version:
types:
/api.raml:
get:
description: get /api.raml
/movies:
get:
description: get /movies
post:
description: post /movies
/{id}:
get:
description: get /movies/:id
delete:
description: delete /movies/:id
Create RAML from object
var Raml = ;var raml = title: 'Testing' baseUri: 'http://localhost:3000' version: 'v1'; ramltype'books' name: type: 'string' required: true numberOfPages: type: 'integer' ; raml; raml;
Result
#%RAML 1.0
title: Testing
baseUri: http://localhost:3000
version: v1
types:
books: |
{
"name": {
"type": "string",
"required": true
},
"numberOfPages": {
"type": "integer"
}
}
/books:
get:
description: Get information about all books
responses:
200:
body:
application/json:
example: |
[
{
"name": "one",
"author": {
"name": "Art"
}
}
]
404:
body:
application/json:
example: |
{
"code": "120",
"message": "Books not found"
}
Options parameters
var raml = options;
- version - version of RAML ( default: 1.0 )
- express - an Express application
- path - path to get API RAML ( default: /api.raml )
- storeResponses - store first response as example ( default: false )
- guessAll - make description quite pretty ( default: false )
- title - title of API in document
- baseUri - URI of API in document
- versionAPI - version of API in document
- templateFileName - path to template
Tests
npm test
Change Log
Created by
Dimitry, 2@ivanoff.org.ua
curl -A cv ivanoff.org.ua