Java封装公共Result结果返回类

Posted 小花皮猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java封装公共Result结果返回类相关的知识,希望对你有一定的参考价值。

前言

在使用Java开发接口请求中,我们需要对请求进行进行统一返回值,这时候我们自己封装一个统一的Result返回类,下面就介绍下我用的这种的这个类

当然,也可以使用第三方库封装的Result结果返回类,根据个人喜好选择即可。

封装公共Result类

首先需要创建一个Result类:

我的想法是:需要有一个请求成功的响应。一个请求失败的响应,如果请求
成功需要返回请求结果,如果请求失败则返回失败原因,且每一个请求都要带上当前时间戳,请求状态(200:成功,400:失败),是否成功(true成功 or false失败)

顺着这个思路,就写出了下面的代码:

如果你也有不同的思路和建议,欢迎评论留言

package com.wyh.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
/**
 * @Author 魏一鹤
 * @Description 公共Result返回类
 * @Date 23:19 2023/1/3
**/

public class Result 
    /**
     * 是否成功
    **/
    private Boolean isSuccess;
    /**
     * 错误信息
     **/
    private String errorMsg;
    /**
     * 请求状态 200-成功 400-失败
     **/
    private Integer status;
    /**
     * 当前时间戳
     **/
    private Long timestamp;
    /**
     * 返回结果
     **/
    private Object data;

    public static Result ok() 
        return new Result(true, null, 200, System.currentTimeMillis(),null);
    

    public static Result ok(Object data) 
        return new Result(true, null, 200,System.currentTimeMillis(),data);
    

    public static Result ok(List<?> data) 
        return new Result(true, null, 200,System.currentTimeMillis(),data);
    

    public static Result fail(String errorMsg) 
        return new Result(false, errorMsg, 400,System.currentTimeMillis(),null);
    


这样一个公共Result结果返回类就写好了,我们简单写两个接口分别测试下失败或者失败吧!

成功测试

首先测试下成功的响应:data里面就查出来的数据

数据有点多,我们把data合上看下整体结构:

是我们想要的返回格式

失败测试

接下来测试下请求失败的情况:如图我给方法新增了一个参数name,如果参数name为空,name就会请求失败并且返回错误信息

ps:判断参数是否为空应该放在service里面处理,我这里演示就懒得这么写了

参数为空的话,请求失败并且返回错误信息

当然如果name不为空,就是请求成功的:

总结

以上就是我自己写的一个Result结果返回类,对于现在的需求来说,完全是够用的,如果后面进行升级会再来更新

以上是关于Java封装公共Result结果返回类的主要内容,如果未能解决你的问题,请参考以下文章

Result类,公共返回类创建

Java 封装HTTP返回结果类

Java语言学习-Java中封装类(正则表达式操作类)

Python中使用return返回多个结果

记一次封装接口返回值问题

二次封装函数