通用返回结果类ResultVO

这篇具有很好参考价值的文章主要介绍了通用返回结果类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);
}

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

通用返回结果类ResultVO

4 返回给前端效果图

返回给前端的响应结果

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

通用返回结果类ResultVO

  • 失败

通用返回结果类ResultVO

总结

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

本文由博客一文多发平台 OpenWrite 发布!文章来源地址https://www.toymoban.com/news/detail-712146.html

到了这里,关于通用返回结果类ResultVO的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mybatis处理返回结果集

    1 简单类型输出映射 返回简单基本类型 返回结果需要定义后才能使用简称 eg:resultType=\\\"Admin\\\" 已经定义过别名了,所以就可以使用简称 那么java中其它常用类型简称如何使用?(不使用简称就需要用全类名,eg:java.util.List) 在mybatis底层源码中定义了一些常用的类型的简称 也可以

    2024年02月13日
    浏览(21)
  • mysql查询结果返回e9

    在使用 MySQL 数据库时,我们经常会进行查询操作。然而,有时候我们会发现,查询结果返回的数值中会有一个奇怪的字符“e9”,这个字符代表的是科学计数法中的10的9次方,也就是十亿。那么,为什么会出现这个字符,该如何解决呢?下面我们一起来探讨。 解决方法有两种

    2024年02月15日
    浏览(28)
  • Solon 统一的返回结果调整

    使用 “统一的渲染控制” 可以对输出做统一的控制外。。。还可以借助路由拦截器 RouterInterceptor ,对 mvc 返回结果做提交确认机制(即可修改)进行控制(相对来讲,这个可能更简单)。。。 关于全局的请求异常处理,最好不要放在这里。。。放到过滤器(因为它是最外层

    2024年02月03日
    浏览(22)
  • SpringBoot 使用【AOP 切面+注解】实现在请求调用 Controller 方法前修改请求参数和在结果返回之前修改返回结果

    在项目中需要实现 在请求调用 Controller 方法前修改请求参数和在结果返回之前修改返回结果 。 我们可以使用 AOP 切面+注解的形式实现。这样我们就可以在不修改原始代码的情况下,通过切面类在方法调用前后插入额外的逻辑。 自定义注解 @PreProcess 自定义注解 @PreProcess 用于

    2024年03月20日
    浏览(37)
  • java多线程怎么同步返回结果

    在 Java 多线程中,如果需要等待线程执行完成并返回结果,可以使用 Java 的线程同步机制来实现。以下是一些常用的方式: 使用 join() 方法:可以使用线程的 join() 方法来等待线程执行完成。在主线程中调用 join() 方法,会阻塞主线程,直到该线程执行完成。在被等待的线程执

    2024年02月14日
    浏览(24)
  • CompletableFuture解决多线程返回结果问题

    在Java中CompletableFuture用于异步编程,异步编程是编写非阻塞的代码,运行的任务在一个单独的线程,与主线程隔离,并且会通知主线程它的进度,成功或者失败。 在这种方式中,主线程不会被阻塞,不需要一直等到子线程完成。主线程可以并行的执行其他任务。 使用这种并

    2024年02月16日
    浏览(37)
  • MySql explain命令返回结果解读

    explain 是MySql提供的SQL语句查询性能的工具,是我们优化SQL的重要指标手段,要看懂explain返回的结果集就尤为重要 一个编号,表示select所属的行。如果查询中没有子查询或关联查询,那么只会有唯一的SELECT,每一行的该列中都将显示一个1,否则,内层的SELECT语句一般会顺序编

    2024年02月08日
    浏览(23)
  • 【Postman】批量请求接口并存储返回结果

    摘要: 这是一篇0基础工具文档 使用:postman 参数化、测试断言、存储测试结果 等几项功能 实现:对接口进行批量请求,并存储结果 先创建一个集合,再在集合中创建接口请求 这样执行集合的时候,就可以通过参数化的文本文件,实现对同一接口的批量执行 贴图: 如图输

    2024年01月21日
    浏览(35)
  • elasticsearch相同查询条件每次返回结果不一样

    现象: 今天web开发人员反馈,在腾讯云对某一个客户的某表数据执行相同的查询结果,有时候不返回数据; 我们是按周区分索引的,数据量不大,去掉时间条件执行查询发现会交替出现  命中21980和命中的8999结果; 解决: 1.首先简单查询其他的表或者其他的集群有没有类似

    2024年01月23日
    浏览(47)
  • HTTP——四、返回结果的HTTP状态码

    HTTP——一、了解Web及网络基础 HTTP——二、简单的HTTP协议 HTTP——三、HTTP报文内的HTTP信息 HTTP——四、返回结果的HTTP状态码 HTTP——五、与HTTP协作的Web服务器 HTTP——六、HTTP首部 HTTP——七、确保Web安全的HTTPS HTTP——八、确认访问用户身份的认证 HTTP——九、基于HTTP的功能

    2024年02月11日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包