我有一个SpringBootRESTAPI应用程序,我集成了Swagger作为文档,还用它用Swagger UI测试API。
现在,我的任务是在我们的生产环境(公共域)上禁用Swagger-UI,并在私有IP上的开发环境中启用它。
只需使用@Profile注释注释您的配置
@Profile({"local", "dev"})
为了实现它,我在我的 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-ev中。属性文件,我添加了一个布尔值为true的键值对
use-swagger=true
在我的应用程序产品中。属性文件,我将值更改为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;
}
}
enable(Boolean.parseBoolean(environment.getProperty(“use-swagger”))此函数允许您在所需的环境中启用或禁用swagger ui。
为了执行Spring Boot REST Api应用程序,我们使用了以下命令
在开发环境中-
nohup java -jar -Dspring.profiles.active=dev target/myapp-1.0.jar &
在生产环境中-
nohup java -jar -Dspring.profiles.active=prod target/myapp-1.0.jar &
使用Swagger vr-3.0.0,我们可以在相应的环境配置文件application.properties文件中添加spring fox . documentation . enabled = false/true。
类似于prod服务器应用程序prod。属性文件
springfox.documentation.enabled=false
对于开发服务器application-dev.properties文件
springfox.documentation.enabled=true
并通过在 VM 参数中指定配置文件来运行应用
-Dspring.profiles.active=prod/dev
我得到一个错误--“请指出一个有效的Swagger或OpenAPI版本字段。支持的版本字段是Swagger:”2.0“和那些与OpenAPI:3.0.n匹配的版本字段(例如,OpenAPI:3.0.0)。”当我将生成的json从/api-docs粘贴到editor.swagger.io时。我有一些观察。 > localhost:8080/v3/api-docs/yields-此json在edito
如何禁用swing组合框中的项目?我将这些项添加为代码,因为在我的项目中,我们无法从设计中手动添加它们。我想禁用项目,例如如果从swing Month组合框中选择了April,则项目31也应禁用,并显示警告消息,因为四月有30天,而不是31天。 {
我有一个,其中有8个项目,我想显示其中的所有项目,但在特定条件下,用户只能选择前两个项目,因此我编写了程序,如果条件为真,用户选择任何其他选项,则会显示一个消息框,显示然后自动选择默认值。到现在为止,一直都还不错。 但现在的问题是,用户无法通过查看的选项来判断他可以选择哪些选项,因此我想做的是,如果条件为真,那么除前两个选项之外的所有选项都应该被禁用(或灰显或其他),这样用户就可以判断出您无法选择
有一个springboot项目想部署到阿里云上,需要简化部署流程,需要咨询几个问题: 1.生产上使用docker容器部署还是直接手动安装jdk,打jar包上传服务器? 2.使用宝塔部署安全可靠吗,是否可以简化部署,没使用过宝塔? 3.项目用到了MySQL和Redis,单独购买云数据库还是在运行springboot的服务器里自己安装MySQL和Redis服务? 4.项目是前后端分离的,是要单独再购买
问题内容: 无论项目属性设置为什么,Eclipse的Google插件都会在 web.xml中 自动生成这些行。 有没有办法阻止插件这样做? 问题答案: 在项目属性的构建器下,如果您禁用了Google App Engine项目更改通知程序,则不会再修改web.xml。但是,由于对GAE环境不够敏锐,我无法确定禁用此构建器的副作用是什么。