spring boot 设置swagger 上线关闭
swagger技术管理项目接口文档,是一个很不错的选择。但是忽然想到上线没有关闭,那么后果就带劲了!!!
从网上也找了一部分博客,有一部分没有成功,现在整理下最终尝试成功的步骤! 话不多说,开整!!
1.pom.xml中
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
2.在application-dev.yaml 配置文件中 加入 true为打开 false 为关闭
(不同环境配置不同状态,application.yaml上线直接修改对应环境即可,省事)
swagger:
show: true
3.配置Swagger2Configuration文件
完整代码怼上
@Configuration
@EnableSwagger2
public class Swagger2Configuration {
@Value("${swagger.show}")
private boolean swaggerShow;
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.enable(swaggerShow)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
.paths(PathSelectors.any())
.build();
}
/**
* 构建api文档的详细方法
*
* @return ApiInfo
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//页面标题
.title("Swagger2 构建Api")
//创建
.termsOfServiceUrl("http://www.baidu.com")
.version("1.0.0")
//描述
.description("API 描述")
.build();
}
}
最终关闭效果 如图
参考其他方法,都尝试过没有起作用,也有可能是和swagger 版本有关系! !
正文到此结束