Base for microservices around OpenAPI/Swagger
npm install openapi-connectAlmost all middleware like (OAuth/CORS/request logging/etc) can be overridden through options.
./api/public.yamlnpm i openapi-connect to install intex.ts or index.js as``javascript
import server, { IOptions } from 'openapi-connect'
const options: IOptions = {
basePath: env.BASE_PATH,
port: env.PORT,
logger: getLogger(), // instance of logger implemented contract from loggerism package
router: {
controllers: './bin/controllers' // path to folder where we request handlers can be found or object like { [operationName: string]: RequestHandler }
},
// in case OpenID/OAuth required
oauth: {
enable: true,
url: env.OAUTH_SERVICE_URL,
audience: env.OAUTH_AUDIENCE // optional
},
swaggerUI: { enable: env.ENABLE_SWAGGER_UI } // optional
}
server('./api/public.yaml', options)
`
or appmetrics`