java定义通用返回结果类ResultVO使用示例详解

 更新时间:2023年09月24日 14:20:00   作者:Leovany  
这篇文章主要为大家介绍了java定义通用返回结果类ResultVO使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

1. 定义通用返回结果类

定义ResultVO类,作返回给前端的对象结构,主要有4个字段

  • code : 错误码
  • data : 内容
  • message : 消息
  • description : 具体描述
import lombok.Data;
import java.io.Serializable;
/**
 * 通用返回结果类
 * @param <T>
 */
@Data
public class ResultVO<T> implements Serializable {
    /**
     * 错误码
     */
    private int code;
    /**
     * 内容
     */
    private T data;
    /**
     * 消息
     */
    private String message;
    /**
     * 描述
     */
    private String description;
    public ResultVO(int code, T data, String message, String description) {
        this.code = code;
        this.data = data;
        this.message = message;
        this.description = description;
    }
    public ResultVO(int code, T data) {
        this(code,data,"","");
    }
    public ResultVO(int code, T data, String message) {
        this(code,data,message,"");
    }
}

2 工具类

/**
 * 通用返回响应工具类
 *
 * @author leovany
 * @date 2023/09/23
 */
public class ResultUtils {
    /**
     * 成功
     *
     * @param data 数据
     * @return {@link ResultVO}<{@link T}>
     */
    public static <T> ResultVO<T> success(T data) {
        return new ResultVO<T>(0, data, "success");
    }
    /**
     * 错误
     *
     * @param code        错误码
     * @param message     信息
     * @param description 描述
     * @return {@link ResultVO}
     */
    public static ResultVO error(int code, String message, String description) {
        return new ResultVO<>(code, null, message, description);
    }
}

3 使用

  • 返回值用 ResultVO<XXX>封装
  • 成功返回:ResultUtils.success(XX);
  • 失败失败:ResultUtils.error(code,message,description);
@PostMapping("/login")
public ResultVO<User> userLogin(@RequestBody UserLoginRequest userLoginRequest, HttpServletRequest request) {
    String userAccount = userLoginRequest.getUserAccount();
    String userPassword = userLoginRequest.getUserPassword();
    // 参数校验
    if (StringUtils.isAnyBlank(userAccount, userPassword)) {
        return ResultUtils.error(40000,"参数错误","参数不能为空");
    }
    // 从数据库查找用户
    User user = userService.doLogin(userAccount, userPassword, request);
    return ResultUtils.success(user);
}

跟之前对比,代码更加优雅

4 返回给前端效果图

返回给前端的响应结果

{
    "code": 0,
    "data": {
        "id": 10,
        "username": "admin"
    },
    "message": "success",
    "description": ""
}
  • 成功

  • 失败

   总结

通过封装ResultVO通用返回结果对象之后,保证了后端跟前端视图对象(VO)的统一。

以上就是java定义通用返回结果类ResultVO使用示例详解的详细内容,更多关于java返回结果类ResultVO的资料请关注脚本之家其它相关文章!

相关文章

  • 一次 Java 服务性能优化实例详解

    一次 Java 服务性能优化实例详解

    这篇文章主要介绍了一次 Java 服务性能优化实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 实时计算知多少?

    实时计算知多少?

    这篇文章对滑动窗口计数的概念和关键代码做了较为详细解释,让我们对实时计算这一概念有了更深的了解,需要的朋友可以参考下
    2015-07-07
  • Java实现图片上传至FastDFS入门教程

    Java实现图片上传至FastDFS入门教程

    这篇文章主要介绍了Java实现图片上传至FastDFS入门教程,通过前端ajax提交图片到后端,java处理服务器文件上传至FastDFS文件服务器系统,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • mybatis拦截器实现数据权限项目实践

    mybatis拦截器实现数据权限项目实践

    本文主要介绍了mybatis拦截器实现数据权限项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Java反射的应用之动态代理深入理解

    Java反射的应用之动态代理深入理解

    这篇文章主要介绍了Java反射的应用之动态代理深入理解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Java超详细讲解WebMvcConfigurer拦截器

    Java超详细讲解WebMvcConfigurer拦截器

    这篇文章将用实例来和大家介绍一下WebMvcConfigurer拦截器。文中的示例代码讲解详细,对我们学习Java有一定的帮助,需要的可以参考一下
    2022-06-06
  • JAVA中常用的设计模式:单例模式,工厂模式,观察者模式

    JAVA中常用的设计模式:单例模式,工厂模式,观察者模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
    2020-04-04
  • idea maven pom不自动更新的解决方法

    idea maven pom不自动更新的解决方法

    这篇文章主要介绍了idea maven pom不自动更新的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 简单理解java泛型的本质(非类型擦除)

    简单理解java泛型的本质(非类型擦除)

    泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。泛型是参数化类型的应用,操作的数据类型不限定于特定类型,可以根据实际需要设置不同的数据类型,以实现代码复用。下面小编来简单讲一讲泛型
    2019-05-05
  • Spring Boot 整合JPA 数据模型关联使用操作(一对一、一对多、多对多)

    Spring Boot 整合JPA 数据模型关联使用操作(一对一、一对多、多对多)

    这篇文章主要介绍了Spring Boot 整合JPA 数据模型关联操作(一对一、一对多、多对多),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07

最新评论