4.0.0 • Published 9 years ago

hapi-raml v4.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

Build Status NPM

hapi-raml

This library will take your RAML, parse it using raml-parser, and then set up routes in hapi to match your RAML.

##Installation

npm install hapi-raml

##Usage

Require in hapi-raml, and pass it a reference to your hapi server, a hashmap of your Controllers, and the path to your RAML.

When you're ready, call hookup(), and hapi-raml will link up your hapi routes to your Controllers, and return a Promise that will tell you when it has finished. Then you can start your hapi server.

var HapiRaml = require('hapi-raml');
var server = new Hapi.Server();

var controllers = {};
controllers.MyController = new MyController();

var hapiRaml = new HapiRaml(server, controllers, './my.raml');

server.connection({ port: 3000 });

hapiRaml.hookup().then(function () {
    server.start();
});

##Conventions

We borrow the collection/collection-item pattern from RAML and layer Controllers on top.

Your Controllers should feature at least the following functions, which should expect to receive the Hapi object request, and a callback reply.

#####GET (API Root)/collection maps to list()

Returns an Array of instances of the matching Model for this Controller.

#####POST (API Root)/collection maps to create()

Create a single instance of the matching Model for this Controller.

#####GET (API Root)/collection/{id} maps to fetch()

Returns a single instance of the matching Model for this Controller.

#####DELETE (API Root)/collection/{id} maps to delete()

Deletes the matching Model for this Controller.

#####POST||PATCH (API Root)/collection/{id} maps to update()

Updates the matching Model for this Controller.

#####ANY (API Root)/collection/{id}/(anything) maps to (anything)()

Whatever you decide!

4.0.0

9 years ago

3.1.0

9 years ago

3.0.0

9 years ago

2.5.0

9 years ago

2.4.0

9 years ago

2.3.0

9 years ago

2.2.0

9 years ago

2.1.1

10 years ago

2.0.5

10 years ago

2.0.4

10 years ago

2.0.3

10 years ago

2.0.2

10 years ago

1.6.3

10 years ago

1.6.2

10 years ago

1.5.1

10 years ago

1.5.0

10 years ago

1.4.2

10 years ago

1.4.1

10 years ago

1.4.0

10 years ago

1.3.0

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.3

10 years ago