A middleware for documenting your Liftr routes with Swagger 3.0 under the hood.
npm install @liftr/docs --save
import * as express from 'express';
import { LiftrDocs } from '@liftr/docs';
import { routes } from '@routes/LiftrRoutingModule';
// swaggerDescriptions
// ---------------------------
// standard info and port config for the documentation
// the version of openapi used is 3.0.0. THIS SHOULD NOT CHANGE.
const swaggerDescriptions = {
info: {
title: 'Liftr REST API',
version: '1.0.0',
description: 'REST API for all the endpoints',
},
servers: [{
url: `http://localhost:${process.env.PORT || 4000}`,
}],
openapi: '3.0.0',
paths: {},
};
// swaggerResponses
// ---------------------------
// Define the responses for your API endpoints and what type of request body you will send.
const swaggerResponses = {
responses: {
200: {
description: 'OK',
},
400: {
description: 'Error: Bad Request',
},
401: {
description: 'Error: Unauthorized',
},
},
requestBody: {
required: true,
content: {
'application/json': { },
},
description: '',
},
};
// This will initiate the /docs route to contain the swagger documentation
// This will use the routes created in the LiftrRoutingModule
app.use('/docs', LiftrDocs(routes, swaggerDescriptions, swaggerResponses));