我已经使用 Swagger API 文档配置了 Spring Boot 应用程序并配置了 Swagger UI。
host:port/api我还在将所有请求从映射到的反向代理后面运行我的后端应用程序backend_host:port/,当我在本地主机上本地运行时,我映射localhost:8082/api。在生产中应用了类似的映射。
当我从中打开 Swagger UI 时,localhost:8082/api/swagger-ui.html它会在标题下方显示以下几行:
[基本网址:localhost:8080]
http://localhost:8082/api/v2/api-docs
当我调用任何休息操作时,swagger 总是尝试针对 localhost:8080 执行它,然后由于相同的源策略而失败。
我知道使用pathProvider,但它只影响基本 URL 的路径部分,而不是域和端口。所以我只能使用它将基本 URL 更改为 localhost:8080/api,但我需要将其更改为 localhost:8082/api。有没有办法将主机动态设置为浏览器中活动的当前主机和端口?
.pathProvider (new RelativePathProvider (servletContext) {
@Override
public String getApplicationBasePath() {
return "/api";
}
})

