merest-swagger

    1.0.5 • Public • Published

    Build Status Coverage Status

    merest-swagger

    The extension of merest that provides SWAGGER documentation support.

    Installation

    npm up merest
    npm i --save merest-swagger

    merest-swagger doesn't install the merest, so you should do it by yourself.

    Recommended Installation

    npm i --save merest merest-swagger mongoose express body-parser method-override

    Documentation

    http://dscheglov.github.io/merest/

    Example

    'use strict';
     
    const merest = require('merest-swagger'); // to support SwaggerUI
    const express = require('express');
    const bodyParser = require('body-parser');
    const methodOverride = require('method-override');
     
    // Defining model
    const mongoose = require('mongoose');
    const Contact = mongoose.model('Contact', new mongoose.Schema({
      name: { type: String, required: true },
      email: { type: String, required: true },
      phone: String,
      tags: [String]
    }));
    mongoose.connect('mongodb://localhost/merest-sample');
     
    const app = express();
    // Creating the Express application to serve API
    const api = new merest.ModelAPIExpress({
      title: 'Contact List API',
      host: 'localhost:8000', // Assign correct host that could be accessed from your network
      path: '/api/v1',
      options: false // we do not need the OPTIONS any more
    });
     
    app.use(bodyParser.json()); // Parsing JSON-bodies
    app.use(methodOverride()); // Supporting HTTP OPTIONS and HTTP DELETE methods
     
    api.expose(Contact); // Exposing our API
    api.exposeSwaggerUi(); // Exposing swagger-ui
     
    app.use('/api/v1', api); // mounting API as usual sub-application
     
    app.listen(8000, () => {
      console.log('Express server listening on port 8000');
    });

    Going to swagger-ui in browser: http://localhost:8000/swagger-ui

    swagger-ui

    Install

    npm i merest-swagger

    DownloadsWeekly Downloads

    4

    Version

    1.0.5

    License

    MIT

    Last publish

    Collaborators

    • dmitry.scheglov