栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot统一返回结果封装

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot统一返回结果封装

        大多数公司使用的都是前后端分离框架,例如springboot+vue,springboot+react等,因此,前后端的数据交互是非常重要的。

        本文实现springboot对统一返回结果进行封装,方便前后端交互。

        使用lombok中的@Data注解可以省略实体类的get、set方法。

         pom.xml中引入lombok依赖
        
            org.projectlombok
            lombok
            1.18.8
            provided
        

        这里的ResultUtil.class文件中,提供无参私有构造方法的意义在于,程序员只能使用ResultUtil的静态方法,而不允许对其进行new操作。

        ResultUtil中使用重载,提供4种success方法和5种fail方法,可以根据场景自行进行添加删除。

        ResultUtil.class
import lombok.Data;


@Data
public class ResultUtil {

    public static final Integer SUCCESS_CODE = 2000;
    public static final Integer FAIL_CODE = 4000;
    public static final String SUCCESS_MESSAGE = "success";
    public static final String FAIL_MESSAGE = "fail";
    
    private Integer code;
    
    private String message;

    
    private T data;

    private ResultUtil() {
    }

    public static  ResultUtil success() {
        ResultUtil resultUtil = new ResultUtil<>();
        resultUtil.setCode(SUCCESS_CODE);
        resultUtil.setMessage(SUCCESS_MESSAGE);
        return resultUtil;
    }

    public static  ResultUtil success(T data) {
        ResultUtil resultUtil = success();
        resultUtil.setData(data);
        return resultUtil;
    }

    public static  ResultUtil success(String message, T data) {
        ResultUtil resultUtil = success();
        resultUtil.setMessage(message);
        resultUtil.setData(data);
        return resultUtil;
    }

    public static  ResultUtil success(Integer code, String message, T data) {
        ResultUtil resultUtil = new ResultUtil<>();
        resultUtil.setCode(code);
        resultUtil.setMessage(message);
        resultUtil.setData(data);
        return resultUtil;
    }

    public static  ResultUtil fail() {
        ResultUtil resultUtil = new ResultUtil<>();
        resultUtil.setCode(FAIL_CODE);
        resultUtil.setMessage(FAIL_MESSAGE);
        return resultUtil;
    }

    public static  ResultUtil fail(T data) {
        ResultUtil resultUtil = fail();
        resultUtil.setData(data);
        return resultUtil;
    }

    public static  ResultUtil fail(String message, T data) {
        ResultUtil resultUtil = fail();
        resultUtil.setMessage(message);
        resultUtil.setData(data);
        return resultUtil;
    }

    public static  ResultUtil fail(Integer code, String message) {
        ResultUtil resultUtil = fail();
        resultUtil.setCode(code);
        resultUtil.setMessage(message);
        return resultUtil;
    }

    public static  ResultUtil fail(Integer code, String message, T data) {
        ResultUtil resultUtil = new ResultUtil<>();
        resultUtil.setCode(code);
        resultUtil.setMessage(message);
        resultUtil.setData(data);
        return resultUtil;
    }
}
        测试案例
@RestController
public class TestController {

    @GetMapping("/test")
    public ResultUtil test() {
        return ResultUtil.success(true);
    }
}
        测试结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/785800.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号