@wturyn/swagger-injector

3.0.1 • Public • Published

Swagger Injector

  • This is a fork extended for restify framework support *

Build Status

Adaptation of swagger ui to render the swagger view of a server's swagger documentation for a specified route.

If you're unfamiliar with swagger, I highly recommend checking it out.

Key

Usage

Koa

Build for ^2.x

  • Assume ./swagger.json is a valid json file
  • Working example
    • Run $ npm install && node examples/koa
    • Request localhost:3000/swagger
let Koa = require('koa');
let swagger = require('swagger-injector');

let app = new Koa();

app.use(swagger.koa({
  path: `${__dirname}/swagger.json`,
}));

app.listen(3000);

Express

  • Assume ./swagger.json is a valid json file
  • NOTE: authentication requires cookie-parser
  • Working example
    • Run $ npm install && node examples/express
    • Request localhost:3000/swagger
let express = require('express');
let cookieParser = require('cookie-parser');
let swagger = require('swagger-injector');

let app = express();

app.use(cookieParser()); // REQUIRED
app.use(swagger.express({
  path: `${__dirname}/swagger.json`
}));

app.listen(3000);

Restify

const restify = require('restify');
const swagger = require('swagger-injector');
const server = restify.createServer();

server.pre(swagger.restify({
  path: `${__dirname}/swagger.json`
}));

server.listen(3000);

Configuration

The following configuration example is a copy of the default configuration

{
  path: './swagger.json', // Path to swagger file
  swagger: false, // swagger json. If not set, it is read from the `path` file
  prefix: '', // Prefix applied to all routes
  assets: '/_swagger_', // Prefix for all assets, appended to prefix
  route: '/swagger', // Router to serve documentation
  css: false, // Path to the css OR css string
  unauthorized: false, // Unauth handler
  dist: '/dist', // Path to dist directory
  authentication: {
    sources: ['query', 'body'], // Accepted sources of auth
    key: false, // Key for the auth
    value: false // Value for the auth
  }
}

Author

License

MIT

Package Sidebar

Install

npm i @wturyn/swagger-injector

Weekly Downloads

1

Version

3.0.1

License

MIT

Last publish

Collaborators

  • wturyn