SpringBoot线上环境彻底关闭Swagger-UI的方式
概要
Springboot线上环境彻底关闭Swagger-UI
整体架构流程
1.SwaggerConfig使用@Profile排除线上环境其他环境生效
2.创建一个控制类使用@Profile仅线上环境生效,使访问swagger-ui.html返回404
技术细节
/** * @author: suitman * @description: go fucking comment.... * @create: 2021-02-07 10:43 **/ @Configuration @EnableSwagger2 @Profile("!prod") public class SwaggerConfig implements WebMvcConfigurer { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(new ApiInfoBuilder() // 设置标题 .title("****") // 描述 .description("***") // 作者信息 .contact(new Contact("***", null, null)) // 版本 .version("版本号: 1") .build()) .select() .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) .paths(PathSelectors.any()) .build(); } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); } }
import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Profile; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @Profile("prod") @RestController @Slf4j public class DisableSwaggerUiController { @RequestMapping(value = "swagger-ui.html", method = RequestMethod.GET) public void getSwagger(HttpServletResponse httpResponse) throws IOException { httpResponse.setStatus(HttpStatus.NOT_FOUND.value()); } }
小结
通过这种方式可以彻底关闭线上环境访问swagger-ui.html直接返回404
到此这篇关于SpringBoot线上环境彻底关闭Swagger-UI的方式的文章就介绍到这了,更多相关SpringBoot彻底关闭Swagger-UI内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java并发J.U.C并发容器类list set queue
这篇文章主要为大家介绍了Java并发,J.U.C并发容器类list set queue,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-06-06java 中使用maven shade plugin 打可执行Jar包
这篇文章主要介绍了java 中使用maven shade plugin 打可执行Jar包的相关资料,需要的朋友可以参考下2017-05-05MyBatis-Plus通过version机制实现乐观锁的思路
version机制的核心思想就是,假设发生并发冲突的几率很低,只有当更新数据的时候采取检查是否有冲突,而判断是否有冲突的依据就是version的值是否被改变了,这篇文章主要介绍了MyBatis-Plus通过version机制实现乐观锁的思路,需要的朋友可以参考下2021-09-09Mybatis mapper标签中配置子标签package的坑及解决
这篇文章主要介绍了Mybatis mapper标签中配置子标签package的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-09-09
最新评论