码迷,mamicode.com
首页 > 其他好文 > 详细

Swagger介绍

时间:2020-09-11 14:23:51      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:分组   doc   ati   swa   depend   focus   spring   vat   color   

1.Swagger解决了什么问题?

 前后端分离时期,前端人员和后端人员如果没有一个统一的接口文档,后期对接会产生很多问题,Swagger可以解决此类问题。

  • Swagger号称世界上最流行的Api框架;
  • RestFul Api文档在线自动生成工具;
  • Api文档和API实时同步。

2.Springboot集成Swagger

2.1相关依赖:

        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

Swagger-UI 是一款Restful接口的文档在线自动生成+功能测试功能软件。

2.2编写Swagger配置类

@Configuration//配置类
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {

    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("kerwin")//分组,可以创建多个Docket配置多个分组。
                .apiInfo(apiInfo())
                .enable(true)//配置是否启动swagger
                .select()
                /**
                 *RequestHandlerSelectors:配置扫描方式
                 *basePackage: 指定扫描的包
                 *any():扫描全部
                 *withMethodAnnotation():方法上的注解
                 *withClassAnnotation():类上的注解
                 */
                .apis(RequestHandlerSelectors.basePackage("com.kerwin.controller"))
                //过滤的路径()
                //.paths(PathSelectors.ant("/kerwin/**"))
                .paths(PathSelectors.any())
                .build();
    }

    //配置API文档信息
    private ApiInfo apiInfo() {
        //联系人信息
        Contact contact = new Contact("kerwin", "baidu.com", "111@qq.com");
        return new ApiInfo(
                "kerwin api文档",
                "不以物喜,不以己悲",
                "1.0",
                "http://baidu.com",
                contact,
                "Apache 2.0", //许可
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList()); //扩展
    }
}

2.3启动项目,访问服务地址:http://localhost:8080/swagger-ui.html,即可看到Swagger界面

3.Swagger常用注解

3.1用于实体类:

  1. @ApiModel( "实体类说明")
  2. @ApiModelProperty(value = "xxx属性说明",hidden = true),作用在类方法和属性上,hidden设置为true可以隐藏该属性

3.3用于控制层:

  1. @ApiOperation("接口说明"),用在接口方法上;
  2. @ApiParam("参数说明") ,用在请求参数上;
  3. @Api(tags = "xxx模块说明"),作用于模块类上。

4.总结

  1. 可以给对象属性或者接口增加注释信息;

  2. 接口文档实时更新;

  3. 可以在线测试接口。

Swagger介绍

标签:分组   doc   ati   swa   depend   focus   spring   vat   color   

原文地址:https://www.cnblogs.com/jiezai/p/13586874.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!