swagger现在是很普遍使用的接口文档。
但当项目发布到正式环境之后,swagger暴露给外部是很致命的,因此可以使用添加用户密码访问
(也可以设置swagger隐藏,利用@Profile对不同环境做不同操作,选择展示或者隐藏)
先展示实现效果
接下来展示实现代码pom文件引入所需依赖
io.springfox springfox-swagger2 ${swagger.version} com.github.xiaoymin swagger-bootstrap-ui 1.9.4
展示application.yml文件内需要添加的内容
切记swagger.production 不可设置为true,否则将屏蔽所有资源
swagger: production: false basic: enable: true username: root password: test
swagger配置文件
import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;@EnableSwaggerBootstrapUI//(该注解swagger需要配置登录用户和密码才需要)@Configuration@EnableSwagger2public class SwaggerConfiguration { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo())// .enable(isEnable) .select() .apis(RequestHandlerSelectors.basePackage("com.test.api")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("后台管理系统API") .termsOfServiceUrl("http://localhost:8899/") .version("1.0") .build(); }}
@EnableSwaggerBootstrapUI该注解正常使用swagger无需添加,需要用到登录访问时再添加。
以上就完成了。
来源地址:https://blog.csdn.net/qq_36090537/article/details/127789962