当前位置:   article > 正文

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

@enableswaggerbootstrapui

前面学习了两种 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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

二、编写 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();
    }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

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

@RestController
@RequestMapping("/test")
@Api(tags = "测试", description = "测试描述", value = "测试")
public class TestController {

    @GetMapping
    @ApiOperation(value = "测试", notes = "测试")
    public String test() {
        return "hello,swagger";
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

四、访问文档页面

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

在这里插入图片描述

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

五、配置安全相关功能

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

yml 文件中加入下面内容

# 如果需要屏蔽 swagger 资源
swagger:
  production: true
  • 1
  • 2
  • 3

再次访问浏览器文档地址,会输出这样的内容
在这里插入图片描述

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

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

关注公众号查看更多资源
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/856989
推荐阅读
相关标签
  

闽ICP备14008679号