【发布时间】:2017-12-11 16:25:16
【问题描述】:
我正在使用 Swagger Editor Docker 映像来定义我的 API 规范并生成一个 nodejs 服务器以作为存根 api 运行并为我的 API 规范提供文档。
我想知道是否可以将默认 URL 更改为我自己的,以便在我打开页面时展示我的规范,以及我将如何做到这一点。
比如我想把默认地址改成http://localhost:8080/spec
【问题讨论】:
标签: swagger swagger-ui
我正在使用 Swagger Editor Docker 映像来定义我的 API 规范并生成一个 nodejs 服务器以作为存根 api 运行并为我的 API 规范提供文档。
我想知道是否可以将默认 URL 更改为我自己的,以便在我打开页面时展示我的规范,以及我将如何做到这一点。
比如我想把默认地址改成http://localhost:8080/spec
【问题讨论】:
标签: swagger swagger-ui
如果我理解正确,您使用 Swagger Codegen 来生成 Node.js 服务器。现在,当您 npm start 并打开 Swagger UI 时,您希望输入框(规范 URL)显示 http://localhost:8080/spec 而不是 http://localhost/api-docs。
要更改提供 .yaml 规范的路径,请编辑您的 index.js,如下所示:
// 1 - add swaggerUi options
var uiOptions = {
apiDocs: '/spec' // <-- override the default /api-docs
};
swaggerTools.initializeMiddleware(swaggerDoc, function (middleware) {
...
// 2 - pass these options to swaggerUi
app.use(middleware.swaggerUi(uiOptions));
端口号由index.js中的serverPort变量指定:
var serverPort = 8080;
【讨论】: