springboot 集成 swagger-bootstrap-ui 生成后台接口文档

    技术2022-07-13  74

    前面学习了两种 springboot 里面使用 swagger 的方法,一种原生的,一种大佬封装好的带 vue样式的,最近又学习到一种带 bootstrap 样式的,觉得还不错,这里分享出来

    基于Swagger开发的Swagger-Bootstrap-UI

    目录结构

    上代码

    一、引入 swagger-bootstrap-ui 的依赖

    <!-- springboot web 相关依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--swagger-api 依赖开始 由于是springfox-swagger的增强UI包,所以基础功能依然依赖Swagger,springfox-swagger的jar包必须引入 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.2</version> </dependency>

    二、编写 swagger 的配置文件

    @Configuration @EnableSwagger2 @EnableSwaggerBootstrapUI 可以使用EnableSwaggerBootstrapUI 的一些增强功能 public class SwaggerConfig { //分模块建立不同分组文档 @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .groupName("基础模块") .select() .apis(RequestHandlerSelectors.basePackage("com.wxw.springboot_swagger_bootstrapui.controller")) .paths(PathSelectors.any()) .build(); } @Bean public Docket createMonitorRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .groupName("登录模块") .select() .apis(RequestHandlerSelectors.basePackage("com.wxw.springboot_swagger_bootstrapui.loginController")) .paths(PathSelectors.any()) .build(); } @Bean public Docket createActivitiRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .groupName("测试模块") .select() .apis(RequestHandlerSelectors.basePackage("com.wxw.springboot_swagger_bootstrapui.testController")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("后台接口文档") .description("后台接口文档描述") .termsOfServiceUrl("http://www.wxw.com/") .contact("wxw") .version("1.0") .build(); }

    三、controller 中加入相关使用注解

    @RestController @RequestMapping("/test") @Api(tags = "测试", description = "测试描述", value = "测试") public class TestController { @GetMapping @ApiOperation(value = "测试", notes = "测试") public String test() { return "hello,swagger"; } }

    四、访问文档页面

    swagger-bootstrap-ui默认访问地址是:http:// h o s t : {host}: host:{port}/doc.html

    这样文档就出来了,文档中的功能就可以自己慢慢研究了

    五、配置安全相关功能

    1、比如说生产环境我们不需要开启文档

    yml 文件中加入下面内容

    # 如果需要屏蔽 swagger 资源 swagger: production: true

    再次访问浏览器文档地址,会输出这样的内容

    2、配置用户名密码才能访问文档

    swagger: basic: # 开启 认证功能 enable: true # 如果未配置用户名密码默认:admin/123321 ## Basic认证用户名 username: wxw ## Basic认证密码 password: 123

    关注公众号查看更多资源

    Processed: 0.011, SQL: 9