0.20.0 • Published 6 years ago

@maf/rest-service v0.20.0

Weekly downloads
26
License
MIT
Repository
-
Last release
6 years ago

@maf/rest-service

npm version

install

npm i --save @maf/rest-service@latest
# OR
yarn add @maf/rest-service@latest

usage

simple

require('@maf/rest-service')('simple-service', {port: 4000})
    .setEndpoint('/api/v1')
    .addMethods({
        'GET /todos': (req, res) => {
            req.logger.debug(`req.id = ${req.ctx.id}`);

            res.result([1, 2, 3]);
        }
    })
    .start();

// curl -v http://localhost:4000/api/v1/todos

with request validation

const service = require('@maf/rest-service')('myservice');

service.setEndpoint('/api/v1');

const joi = service.joi;

service.addMethods({
    'GET /todos': {
        schema: {
            query: joi.object().keys({
                limit: joi.number().integer().min(1).max(5).default(5)
            })
        },

        handler: (req, res) => {
            const todos = [1, 2, 3, 4, 5];
            res.result(todos.slice(0, req.query.limit));
        }
    }
});

service.start();

// curl -v http://localhost:3000/api/v1/todos
// curl -v http://localhost:3000/api/v1/todos?limit=3
// curl -v http://localhost:3000/api/v1/todos?limit=10

todos REST API example

see examples/todos-rest-api

0.20.0

6 years ago

0.19.0

6 years ago

0.18.0

7 years ago

0.17.0

7 years ago

0.16.0

7 years ago

0.15.0

7 years ago

0.14.2

7 years ago

0.14.1

7 years ago

0.14.0

7 years ago

0.13.0

7 years ago

0.12.0

7 years ago

0.11.1

7 years ago

0.11.0

7 years ago

0.10.1

7 years ago

0.9.0

7 years ago

0.8.0

7 years ago

0.7.0

7 years ago

0.6.0

7 years ago

0.5.1

7 years ago

0.5.0

7 years ago

0.4.0

7 years ago

0.3.0

7 years ago

0.3.0-beta.1

7 years ago

0.3.0-beta.0

7 years ago

0.2.0

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.3

7 years ago

0.0.1

7 years ago