我使用Open Api:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.9</version>
</dependency>
这就是 swagger ui 的样子:
是否有一些设置可以生成安全网址? 我如何简单地一起覆盖基本路径(例如通过
application.properties
@Ray 是对的。但域名是隐藏的。
https://stackoverflow.com/a/74261128/20325718
如果您也想显示域名,可以尝试以下方法。
@Configuration
public class OpenAPIDefinitionConfiguration {
@Component
@Profile("prd")
@OpenAPIDefinition(servers = @Server(url = "https://example.com"))
public static class PrdOpenAPIDefinitionConfiguration {
}
@Component
@Profile("local")
@OpenAPIDefinition(servers = @Server(url = "https://local.example.com"))
public static class LocalOpenAPIDefinitionConfiguration {
}
}
应用程序.属性
spring.profiles.active=prd
或者如果你想显示所有环境,也可以通过以下方法显示。
@OpenAPIDefinition(
servers = {
@Server(
url = "https://{profile}.example.com/",
variables = {
@ServerVariable(
name = "profile",
allowableValues = { "prd", "local" },
defaultValue = "prd"
)
}
)
}
)
我在更新应用程序后遇到了同样的问题。我的解决方案是添加到我的 nginx 配置中
proxy_set_header X-Forwarded-Proto https;
如果你想使用与URL相同的协议,你应该在配置类中定义这个bean。
@Bean
public OpenAPI openAPI(ServletContext servletContext) {
Server server = new Server().url(servletContext.getContextPath());
return new OpenAPI()
.servers(List.of(server));
}