@lxsbw/express-swagger-ui
v1.0.1
Published
Swagger UI middleware for express
Downloads
11
Maintainers
Readme
@lxsbw/express-swagger-ui
Host swagger ui at a given directory from your express app
Inspired by:
- koa2-swagger-ui
- swagger-injector for serving on a specific route
- hapi-swaggered-ui for serving files from node_modules using a handlebars driven index.html
install
npm install @lxsbw/express-swagger-ui --save
config
for more swaggerOptions see swagger-ui defaults:
title: 'swagger', // page title
oauthOptions: {}, // passed to initOAuth
swaggerOptions: { // passed to SwaggerUi()
dom_id: 'swagger-ui-container',
url: 'http://petstore.swagger.io/v2/swagger.json', // link to swagger.json
supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
docExpansion: 'none',
jsonEditor: false,
defaultModelRendering: 'schema',
showRequestHeaders: false,
swaggerVersion: 'x.x.x' // read from package.json,
},
routePrefix: '/docs', // route where the view is returned
hideTopbar: false, // hide swagger top bar
favicon16: '/favicon-16x16.png', // default icon 16x16, set for self icon
favicon32: '/favicon-32x32.png', // default icon 32x32, set for self icon
example
import * as express from 'express';
import { expressSwagger } from '@lxsbw/express-swagger-ui';
const app = express();
app.use(
expressSwagger({
routePrefix: '/swagger', // host at /swagger instead of default /docs
swaggerOptions: {
url: 'http://petstore.swagger.io/v2/swagger.json', // example path to json
},
}),
);
app.listen(3000);