Springfox Swagger 使用端口 80 为 HTTPS URLS 生成请求

问题描述 投票:0回答:3

我在使用 springfox-swagger2 v2.2.0 时遇到与 HTTP URL 的请求填充端口 80 相关的问题。

是否有禁用端口生成或基于 Spring Profile 以编程方式将端口设置为 443 的方法?

生成的卷曲:

curl -X GET --header “接受:application/json” “https://test.com:80/api/users/search

swagger springfox
3个回答
4
投票

遇到同样的问题,但我没有按照@Akshay 的回答升级 spring 框架库(感谢您指出 Swagger2Controller.class),而是将以下属性添加到我的 application-dev.yml 文件中(将主机名替换为您的主机) .

springfox.documentation.swagger.v2.host:主机名:443


1
投票

我有同样的问题。这是因为 Swagger 使用 Spring Framework 中的一个类,该类将端口 80 添加到 /v2/api-docs json 响应中的主机属性(检查 Swagger2Controller.class)。我在 spring 框架版本 4.1.4.Release 中遇到了这个问题。升级到最新版本 4.3.2.Release 修复了它。


0
投票

我在 spring boot 3.0 和 openapi-starter-webmvc-ui 2.0 上遇到了同样的问题 (我的项目确实位于负载均衡器后面)

以上答案均无效,所以我尝试了这个:

在我的 swagger 配置中我添加了

@OpenAPIDefinition(
        servers = {
                @Server(url = "https://MyProject:443", description = "Default Server URL")
        }
)

在这个招摇之后将我重定向到 443 端口而不是 80.

希望有帮助

© www.soinside.com 2019 - 2024. All rights reserved.