【发布时间】:2019-03-12 07:22:17
【问题描述】:
我正在尝试使用 swagger-ui-express 呈现 Swagger 文档。但只有在使用 app.use 时,它才会在浏览器中呈现,但在 app.get 中发布时,不会呈现 HTML 页面(空白屏幕),而是在我签入 Postman 时在响应正文中生成 HTML 代码
下面是我的代码,
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDoc))
上面渲染了所需的 HTML 页面。
app.get('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDoc))
上面生成了 HTML 代码,但没有在浏览器中呈现,是我遗漏了什么吗?
更新:
我使用 generateHTML 方法,但它似乎仍然以同样的方式工作,
app.use('/api-docs-html/BOOKING-CANCELLATION', function(req, res, next) {
var pathArraySplit = req.originalUrl.split('/');
var apiNameWithHyphen = pathArraySplit[2].trim()
var apiNameWithUnderScore = apiNameWithHyphen.replace('-', '_');
swaggerDocument = JSONConstructor.JSONConstructorTest(apiNameWithUnderScore)
swaggerHtml = swaggerUi.generateHTML(swaggerDocument, swaggerUiOpts)
next()
},swaggerUi.serveFiles(swaggerDocument, swaggerUiOpts))
app.get('/api-docs-html/BOOKING-CANCELLATION', (req, res) => { res.send(swaggerHtml) });
【问题讨论】:
标签: node.js express swagger swagger-ui