An express middleware to serve OpenAPI definitions for CAP services in Swagger UI. Builds on top of swagger-ui-express.
In your project, execute
npm install --save-dev cds-swagger-ui-express
Have this in your server.js
:
const cds = require ('@sap/cds')
module.exports = cds.server
if (process.env.NODE_ENV !== 'production') {
const cds_swagger = require ('cds-swagger-ui-express')
cds.on ('bootstrap', app => app.use (cds_swagger()) )
}
Swagger UI is then served on /$api-docs/<service-path>
, like http://localhost:4004/$api-docs/browse/
Call cds_swagger ({...})
with the following object:
{
"basePath": "/$api-docs", // the root path to mount the middleware on
"diagram": "true" // whether to render the YUML diagram
}
If you call cds.serve
on your own in your server.js
, make sure to install this middleware before, as it relies on CDS' serving
events.