Java 我是如何在Spring Boot项目的生产中禁用Swagger UI的
我有一个Spring Boot REST API应用程序,我集成了Swagger来编写文档,还使用它来测试带有Swagger UI的APIJava 我是如何在Spring Boot项目的生产中禁用Swagger UI的,java,spring-boot,swagger-ui,springfox,Java,Spring Boot,Swagger Ui,Springfox,我有一个Spring Boot REST API应用程序,我集成了Swagger来编写文档,还使用它来测试带有Swagger UI的API 现在,我的任务是在生产环境(公共域)上禁用Swagger UI,并在私有IP上的开发环境中启用它。为了实现它,我在我的Swagger配置类和application.properties文件中做了下面提到的更改 我在pom.xml中添加了以下依赖项以集成swagger <dependency> <groupId>io.sprin
现在,我的任务是在生产环境(公共域)上禁用Swagger UI,并在私有IP上的开发环境中启用它。为了实现它,我在我的Swagger配置类和application.properties文件中做了下面提到的更改 我在pom.xml中添加了以下依赖项以集成swagger
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>
在我的application-prod.properties文件中,我将该值更改为false
use-swagger=false
现在,最后在我的SwaggerConfig类中,我使用上面的键来启用/禁用我的Swagger UI
@Configuration
public class SwaggerConfig implements EnvironmentAware {
private Environment environment;
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.jkoder.example.controller"))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo())
.enable(Boolean.parseBoolean(environment.getProperty("use-swagger")));
}
@Override
public void setEnvironment(Environment environment) {
this.environment = environment;
}
}
启用(Boolean.parseBoolean(environment.getProperty(“使用swagger”))
此功能允许您在所需环境中启用或禁用招摇过市ui
为了执行SpringBootRESTAPI应用程序,我们使用了以下命令
在开发环境中-
nohup java -jar -Dspring.profiles.active=dev target/myapp-1.0.jar &
nohup java -jar -Dspring.profiles.active=prod target/myapp-1.0.jar &
在生产环境中-
nohup java -jar -Dspring.profiles.active=dev target/myapp-1.0.jar &
nohup java -jar -Dspring.profiles.active=prod target/myapp-1.0.jar &
只需使用@Profile annotation注释您的配置
@Profile({"local", "dev"})
使用Swagger vr-3.0.0,我们可以在相应的environment profile application.properties文件中添加springfox.documentation.enabled=false/true 类似于prod serverapplication-prod.properties文件
springfox.documentation.enabled=false
springfox.documentation.enabled=true
对于dev serverapplication-dev.properties文件
springfox.documentation.enabled=false
springfox.documentation.enabled=true
并通过在VM参数中指定配置文件来运行应用程序
-Dspring.profiles.active=prod/dev