如何通过swagger-autogen为Swagger配置多个服务器?
问题
我想通过swagger-autogen给Swagger添加多个服务器,但官方文档只提供了单个host的配置示例。我尝试用数组形式配置hosts:
const doc = { // ... 其他配置 hosts: ['localhost:3000', 'localhost:5000'], // ... 其他配置 };
结果生成的基础URL变成了http://localhost:3000localhost:5000/,想问下有没有正确添加多个服务器的方式?
正确配置方式
swagger-autogen适配OpenAPI 3.x规范时,配置多服务器不能用hosts数组——hosts是Swagger 2.0的单主机配置项,直接传数组会导致URL拼接错误。
正确的做法是使用servers字段,传入包含url属性的对象数组:
const doc = { // ... 其他配置 servers: [ { url: 'http://localhost:3000' }, { url: 'http://localhost:5000' } ], // ... 其他配置 };
这样生成的Swagger文档会正常显示多个可选的服务器地址,不会出现URL拼接异常的问题。
内容的提问来源于stack exchange,提问作者Islam Goher
相关产品推荐
相关产品推荐

