Java封装公共Result结果返回类的实现

 更新时间:2023年01月08日 11:55:38   作者:小花皮猪  
在使用Java开发接口请求中,我们需要对请求进行进行统一返回值,这时候我们自己封装一个统一的Result返回类,本文主要介绍了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返回类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot与Dubbo整合的方式详解

    SpringBoot与Dubbo整合的方式详解

    这篇文章主要介绍了SpringBoot与Dubbo整合的方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Spring Data JPA开启批量更新时乐观锁失效问题的解决方法

    Spring Data JPA开启批量更新时乐观锁失效问题的解决方法

    乐观锁的基本思想是,认为在大多数情况下,数据访问不会导致冲突,因此,乐观锁允许多个事务同时读取和修改相同的数据,而不进行显式的锁定,本文给大家介绍了Spring Data JPA开启批量更新时乐观锁失效问题的解决方法,需要的朋友可以参考下
    2024-07-07
  • JAVA数据写入生成excel文件和发送邮件

    JAVA数据写入生成excel文件和发送邮件

    这篇文章主要介绍了JAVA数据写入生成excel文件和发送邮件,流程:先导包 => 邮箱开启配置 => java写好配置类 => 测试发送 => 数据写入excel => 邮件带附件发送
    2024-06-06
  • 在Java中int和byte[]的相互转换

    在Java中int和byte[]的相互转换

    这篇文章主要介绍了在Java中int和byte[]的相互转换的相关资料,需要的朋友可以参考下
    2016-11-11
  • Spring Boot 多数据源处理事务的思路详解

    Spring Boot 多数据源处理事务的思路详解

    这篇文章主要介绍了Spring Boot 多数据源如何处理事务,本文单纯就是技术探讨,要从实际应用中来说的话,我并不建议这样去玩分布式事务、也不建议这样去玩多数据源,毕竟分布式事务主要还是用在微服务场景下,对Spring Boot 多数据源事务相关知识感兴趣的朋友参考下本文
    2022-06-06
  • Java原子操作CAS原理解析

    Java原子操作CAS原理解析

    这篇文章主要介绍了Java原子操作CAS原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Java中WeakHashMap的工作原理详解

    Java中WeakHashMap的工作原理详解

    这篇文章主要介绍了Java中WeakHashMap的工作原理详解,WeakHashMap
    从名字可以得知主要和Map有关,不过还有一个Weak,我们就更能自然而然的想到这里面还牵扯到一种弱引用结构,因此想要彻底搞懂,我们还需要知道四种引用,需要的朋友可以参考下
    2023-09-09
  • JSON序列化Redis读取出错问题解决方案

    JSON序列化Redis读取出错问题解决方案

    这篇文章主要介绍了JSON序列化Redis读取出错问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Kotlin中的抽象类实现

    Kotlin中的抽象类实现

    这篇文章主要介绍了Kotlin中的抽象类实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Java编程使用卡片布局管理器示例【基于swing组件】

    Java编程使用卡片布局管理器示例【基于swing组件】

    这篇文章主要介绍了Java编程使用卡片布局管理器,结合实例形式分析了java基于swing组件的卡片布局管理器具体实现与使用技巧,需要的朋友可以参考下
    2018-01-01

最新评论