zoukankan      html  css  js  c++  java
  • 在springboot项目中使用swaggerui

    1. 在pom.xml文件中配置(用的2.6.1版本,2.9.2有点丑)
      <properties>
          <!--<spring.swagger2.version>2.9.2</spring.swagger2.version>-->
          <spring.swagger2.version>2.6.1</spring.swagger2.version>
      </properties>
      
      <dependency>
          <groupId>io.springfox</groupId>
          <artifactId>springfox-swagger2</artifactId>
          <version>${spring.swagger2.version}</version>
      </dependency>
      
      <dependency>
          <groupId>io.springfox</groupId>
          <artifactId>springfox-swagger-ui</artifactId>
          <version>${spring.swagger2.version}</version>
      </dependency>
    2. 写配置类
      package com.xt.mybatisplusstudy.config;
      
      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;
      import springfox.documentation.builders.ApiInfoBuilder;
      import springfox.documentation.builders.PathSelectors;
      import springfox.documentation.builders.RequestHandlerSelectors;
      import springfox.documentation.service.ApiInfo;
      import springfox.documentation.spi.DocumentationType;
      import springfox.documentation.spring.web.plugins.Docket;
      import springfox.documentation.swagger2.annotations.EnableSwagger2;
      
      @Configuration
      @EnableSwagger2
      public class Swagger2Config {
          @Bean
          public Docket createRestApi() {
              return new Docket(DocumentationType.SWAGGER_2)
                      .apiInfo(apiInfo())
                      .select()
                      .apis(RequestHandlerSelectors.basePackage("com.xt.mybatisplusstudy.controller"))//在这写上你的controller路径
                      .paths(PathSelectors.any())
                      .build();
          }
      
          private ApiInfo apiInfo() {
              return new ApiInfoBuilder()
                      .title("swaggerApi文档")
      //                .description("简单优雅的restfun风格")
                      .description("你看这个玩意挺好用的")
                      .termsOfServiceUrl("")
                      .version("1.0")
                      .build();
          }
      }
    3. 注释介绍
      常用注解:
      - @Api()用于类;
      表示标识这个类是swagger的资源
      - @ApiOperation()用于方法;
      表示一个http请求的操作
      - @ApiParam()用于方法,参数,字段说明;
      表示对参数的添加元数据(说明或是否必填等)
      - @ApiModel()用于类
      表示对类进行说明,用于参数用实体类接收
      - @ApiModelProperty()用于方法,字段
      表示对model属性的说明或者数据操作更改
      - @ApiIgnore()用于类,方法,方法参数
      表示这个方法或者类被忽略
      - @ApiImplicitParam() 用于方法
      表示单独的请求参数
      - @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam
      具体使用举例说明:
      @Api()
      用于类;表示标识这个类是swagger的资源
      tags–表示说明
      value–也是说明,可以使用tags替代
      但是tags如果有多个值,会生成多个list
      
      @ApiOperation() 用于方法;表示一个http请求的操作
      value用于方法描述
      notes用于提示内容
      tags可以重新分组(视情况而用)
      @ApiParam() 用于方法,参数,字段说明;表示对参数的添加元数据(说明或是否必填等)
      name–参数名
      value–参数说明
      required–是否必填
      
      @ApiModel()用于类 ;表示对类进行说明,用于参数用实体类接收
      value–表示对象名
      description–描述
      都可省略
      @ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据操作更改
      value–字段说明
      name–重写属性名字
      dataType–重写属性类型
      required–是否必填
      example–举例说明
      hidden–隐藏
      
      @ApiIgnore()用于类或者方法上,可以不被swagger显示在页面上
      比较简单, 这里不做举例
      @ApiImplicitParam() 用于方法
      表示单独的请求参数
      @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam
      name–参数ming
      value–参数说明
      dataType–数据类型
      paramType–参数类型
      example–举例说明
    4. 访问
      http://localhost:8081/xt/swagger-ui.html    访问原则-->ip+项目名+swagger-ui.html
    5. 效果示例
    6. 遇到的一个坑
      //@Api(value = "登录接口",tags = "login control")  坑 tags中如果写中文,swaggerui接口无法展开
      @Api(description = "登录接口")
    signature:祸兮福所倚,福兮祸所伏
  • 相关阅读:
    __weak与__block修饰符区别
    Socket 记录
    Python yaml文件中文读取写入
    Xshell 连接 本地虚拟机
    MySQL查询学生表
    Python Excel读写操作
    pytest mark标记运行
    pytest 参数化
    pytest xfail参数详解
    pytest 失败截图
  • 原文地址:https://www.cnblogs.com/xnuuuu/p/12080839.html
Copyright © 2011-2022 走看看