【Spring Web教程】SpringBoot 整合SpringFox-SwaggerUI 3

简介

SpringFox Swagger UI在2020年7月发布了 3.0版本,在Swagger2基础上减少了配置,优化如下:

  1. 使用starter依赖
  2. 无需Enable注解
  3. 减少依赖

代码配置

pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.2</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- swagger ui -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-boot-starter</artifactId>
        <version>3.0.0</version>
    </dependency>
</dependencies>

控制层代码

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * test 控制层
 * @author terry
 * @version 1.0
 * @date 2022/5/28 17:08
 */
@RequestMapping("/test")
@Api(value="/test", tags="测试")
public class TestCtrl {

    @ApiOperation(value="/queryList", tags="查询列表")
    @GetMapping("/queryList")
    public Rest<String> queryList(){
        return Rest.ok("成功");
    }
}

/**
 * 消息返回体
 * @param <T>
 */
@Data
class Rest<T> {

    @ApiModelProperty(value = "是否成功")
    private boolean success = true;

    @ApiModelProperty(value = "返回对象")
    private T result;

    @ApiModelProperty(value = "返回消息")
    private String message;

    public Rest (T result) {
        this.result = result;
    }

    public static <T> Rest<T> ok(T result){
        Rest rest = new Rest(result);
        return rest;
    }

    @SuppressWarnings({"rawtypes", "unchecked"})
    public static <T> Rest<T> error(String message){
        Rest rest = new Rest(null);
        rest.setSuccess(false);
        rest.setMessage(message);
        return rest;
    }
}

输入网址:http://localhost:8080/swagger-ui/

image-20220528221935181


版权声明:本文为qq_37493888原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。