带有springdoc openapi ui(Swagger ui)的SpringBoot2.2应用程序运行HTTP端口。应用程序部署到Kubernetes,入口将HTTPS请求从集群外部路由到服务。
在这种情况下,可在https://example.com/api/swagger-ui.html
有错误的“生成的服务器url”-http://example.com/api
。而它应该是https://example.com/api
。
虽然Swagger UI是通过HTTPS访问的,但生成的服务器URL仍然使用HTTP。
springdoc-openapi
FAQ有一节我如何在反向代理后面部署Doployspringdoc-openapi-ui
?
常见问题部分可以扩展。
确保X-Forwarded标头由您的代理发送(X-Forwarded-For
、X-Forwarded-Proto
和其他)。
如果您正在使用下拖(spring boot starter Undertow
),请设置属性server。forward headers strategy=NATIVE
使Web服务器以本机方式处理X-Forwarded标头。此外,如果你不使用它,考虑切换到拖欠。
如果您使用的是Tomcat(spring boot starter Tomcat
),请设置属性server。forward headers strategy=NATIVE
,并确保列出属性服务器中要信任的所有内部代理的IP地址。公猫内部代理=192\\.168\\\\d{1,3}\\\\d{1,3}
。默认情况下,10/8、192.168/16、169.254/16和127/8中的IP地址是可信的。
或者,对于Tomcat设置属性服务器。转发头策略=框架
。
有用链接:
我也有同样的问题。下面是我的工作。
@OpenAPIDefinition(
servers = {
@Server(url = "/", description = "Default Server URL")
}
)
@SpringBootApplication
public class App {
// ...
}
如果接受的解决方案不适合您,那么您可以通过定义bean来手动设置url。
@Bean
public OpenAPI customOpenAPI() {
Server server = new Server();
server.setUrl("https://example.com/api");
return new OpenAPI().servers(List.of(server));
}
url可以通过一个属性定义并注入到这里。
**代码:(类名已重命名)** 两个版本中的CheeseDTO YAML: 使用springdoc-openapi-ui 1.3.9,我的yaml是这样生成的: 昂首阔步3注释: OpenAPi生成器maven插件 有没有办法用springdoc-openapi-ui>1.4.0生成?我必须更改我的大摇大摆的注释或更改我的java生成器吗?
我使用的是默认配置,但由于某种原因,我一直收到以下错误: 任务“Generate OpenApidocs”执行失败。无法连接到http://localhost:8080/v3/api-文档等待了30秒 似乎由于某种原因,它没有设置服务器。我该怎么修好它?
我有一个Spring Boot应用程序,其中API被指定为OpenAPI 3.0.2 YAML文档。我使用openapi生成器maven插件从规范生成代码http://localhost:8080/swagger-用户界面。html,它显示:“规范中未定义任何操作!” 在规范中,我有: 这导致控制器类中出现以下情况: 如果我加载openapi定义。编辑亚马尔。大摇大摆io,它显示了预期的定义。 如
我在从服务器构建时遇到问题。我的项目是一个使用Netbeans IDE的Android应用程序。当我运行我的应用程序时,一切正常,编译器完全不报告任何错误。但是当我向服务器发送build Netbeans时,我会报告一个成功的构建,但是当我登录到构建服务器时,我看到的是一个构建失败并带有错误日志。 以下是我从生成服务器获得的错误日志: 构建失败/home/ec2 user/android sdk/
我有一个基本的Codename One订阅,从我的角度来看,我的代码编译得很好,模拟器也工作得很好,但是Codename One Server正在获得构建错误,我尝试了几次但仍然不工作,有构建错误日志,但在这里发布太长了,我该怎么办?
是否可以使用接口而不是实现这些接口的控制器类来生成swagger ui文档? 将文档放在实现类中会使它看起来杂乱无章。Springfox有这个选项,它在springdoc中可用吗?如果是,怎么做?