您的位置:首页 > 编程语言 > Java开发

SpringBoot 集成Swagger

2017-08-13 12:14 381 查看
什么是 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(Defe
4000
rredResult.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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: