zoukankan      html  css  js  c++  java
  • Swagger介绍

    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. 可以在线测试接口。

  • 相关阅读:
    debug: if (va=1) 和 if (va==1)的区别
    必定管用!关于如何在电脑上恢复itunes中的音乐库(Mac Windows统统适用)
    关于Matlab中自动生成的asv文件
    LaTeX表格字体大小控制
    ANSYS中应力强度因子与J积分的计算
    Notepad++取消输入单词时出现提示
    notepad++的apdl高亮xml文件
    Power Graphics
    19个必须知道的Visual Studio快捷键
    APDL命令流:将ansys分析结果输出为tecplot格式
  • 原文地址:https://www.cnblogs.com/jiezai/p/13586874.html
Copyright © 2011-2022 走看看