1.0.7 • Published 6 years ago

express-joi-simple v1.0.7

Weekly downloads
5
License
ISC
Repository
-
Last release
6 years ago

Express + Joi + Swagger

Everything automated and easy to setup

Support Javascript/Typescript

===

Installation

npm i express-joi-simple --save

Minimal Working Example

import * as express from 'express';
import * as joi from 'joi';
import * as BodyParser from 'body-parser';
import { Doc, Validate, RequestHandler } from 'express-joi-simple';

const app = express();
app.use(BodyParser.json());

const schema = {
    body: {
        test1: joi.string().required()
    },
    model: 'Register'
}

// Note middleware here
app.post('register', Validate(schema), (req: any, res: any) => {
    res.json({
        message: 'register'
    })
})

app.use(RequestHandler);

app.listen(3000, () => {
    // Note function Doc here
    Doc(app);
})

Use require instead of import for plain Javascript. More complicated example you can find in example folder.

Swagger documentation settings example:

const settings = {
    info: {
        "version": "1.0.0",
        "title": "Title Example",
        "description": "Description API example",
        "termsOfService": "http://swagger.io/terms/",
        "contact": {
            "name": "Example team"
        },
        "license": {
            "name": "MIT"
        }
    },
    host: 'localhost:3000',
    basePath: '/',
    documentaionPath: /doc
}

Doc(app, settings);

Default documentation path is: /

So you can find documentation: localhost:3000/