在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 = "登录接口")

猜你喜欢

转载自www.cnblogs.com/xnuuuu/p/12080839.html