import { Express, Request, Response } from 'express'; import swaggerUi from 'swagger-ui-express'; import swaggerJson from '@/generated/swagger/v3/swagger.json'; const swaggerHTML = swaggerUi.generateHTML(swaggerJson, { customSiteTitle: 'Spoken API', }); export const setupSwagger = (app: Express): void => { // hides demo index.html file // @see https://github.com/scottie1984/swagger-ui-express/issues/202#issuecomment-727257372 app.use('/docs/rest/index.html', (req, res) => res.redirect(301, '/docs/rest') ); app.use('/docs/rest', swaggerUi.serve, (_req: Request, res: Response) => { return res.send(swaggerHTML); }); };