SpringBoot 集成Swagger

来源:互联网 发布:淘宝日产手办 编辑:程序博客网 时间:2024/06/05 04:05

什么是 Swagger

Swagger 是一款RESTful API接口的文档在线自动生成和功能测试功能一体的软件.

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。欢迎添加jav高级244930845一起学习交流。



SpringBoot和Swagger集成

        效果如下:


-----添加Swagger2依赖


     在pom.xml中添加Swagger2依赖

              <dependency>
                        <groupId>io.springfox</groupId>
                          <artifactId>springfox-swagger2</artifactId>
                        <version>2.2.2</version>
             </dependency>
            <dependency>
                     <groupId>io.springfox</groupId>
                      <artifactId>springfox-swagger-ui</artifactId>
                    <version>2.2.2</version>
           </dependency>

-----配置类创建


    创建swagger2配置类


@Configuration

@EnableSwagger2

public class SwaggerConfig {

@Bean
    public Docket demoApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("test")
                .genericModelSubstitutes(DeferredResult.class)
                .useDefaultResponseMessages(false)
                .forCodeGeneration(false)
                .pathMapping("/")
                .select()
                .paths(Predicates.or(PathSelectors.regex("/test/.*")))//哪些接口暴露给swagger
                .build()
                .apiInfo(demoApiInfo());//用来创建APi的基本信息
    }


    private ApiInfo demoApiInfo() {
        ApiInfo apiInfo = new ApiInfo("测试系统相关接口",//大标题
                "测试系统相关接口,注意:  测试",//小标题
                "1.0",//版本
                "",
                "Cz.smile",//作者
                "测试系统",//链接显示文字
                "http://192.168.174.147:8888/test-web/"//网站链接
        );
        return apiInfo;
    }

}

如上代码所示,首先通过@Configuration 注解,让Spring来加载该类配置。再通过 @EnableSwagger2 注解来启用

Swagger2再通过demoApi (自定义 ) 函数创建Docket Bean之后, apiInfo() 用来创建该Api的基本信息(这些基本信息会展现在文档页面中),select() 函数返回一个 ApiSelectorBuilder 实例用来控制哪些接口暴露给Swagger来展示,本例采用指定扫描的包路径(包含/tset 路径 )来定义,Swagger会扫描该包下所有接口控制层定义的API,并产生文档内容。

-----为接口添加Swagger 注解

@Api(value = "菜单", description = "测试系统" )
@ApiOperation(value="高德地图匹配", notes="url/高德地图匹配")


-------请求参数

@ApiImplicitParams({        @ApiImplicitParam(name = "A",value = "经度", required = true, paramType = "query"),        @ApiImplicitParam(name = "B",value = "纬度", required = true, paramType = "query")})

----访问

http:// ip:端口/项目名/swagger-ui.html



 

原创粉丝点击