Java通用返回工具类Result

这篇具有很好参考价值的文章主要介绍了Java通用返回工具类Result。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通用返回类Result

前言:Java项目搭建时,常常需要去封装一个通用型的Result工具类,下面就是我自己封装的常用的返回类,可以直接使用。(有部分Swagger注解,使用时可忽略

第一步、创建ReusltUtils工具类

package com.code.walker.utils;

import com.code.walker.constant.ResultCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * @author ProsperousEnding-fhl
 * @create 2023-07-20-15:16
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ApiModel(value = "响应信息体")
public class  ResultUtils<T> implements Serializable {

    /**
     * 响应码
     */
    @Getter
    @Setter
    @ApiModelProperty(value = "响应标记:成功标记=0,失败1")
    private Integer code;

    /**
     * 响应信息
     */
    @Getter
    @Setter
    @ApiModelProperty(value = "响应信息")
    private String message;

    /**
     * 响应数据
     */
    @Getter
    @Setter
    @ApiModelProperty(value = "响应数据")
    private T data;


    @Getter
    @Setter
    @ApiModelProperty(value = "返回状态")
    private boolean status;


    private ResultUtils(ResultCode resultCode,T data,boolean status){
        this.code = resultCode.getCode();
        this.message = resultCode.getMessage();
        this.data = data;
        this.status=status;
    }

    /**
     * 无数据成功返回
     *
     * @return
     */
    public static  <T>ResultUtils success(){
        return new ResultUtils<T>(ResultCode.SUCCESS.getCode(),ResultCode.SUCCESS.getMessage(),null,true);
    }
    /**
     * 带数据返回
     */
    public static <T> ResultUtils success(T data){
        return new ResultUtils<T>(ResultCode.SUCCESS.getCode(),ResultCode.SUCCESS.getMessage(),data,true);
    }

    /**
     * 失败
     */
    public static  <T>ResultUtils fail(){
        return new ResultUtils<T>(ResultCode.FAIL.getCode(),ResultCode.FAIL.getMessage(), null,false);
    }
    /**
     * 失败
     */
    public static <T> ResultUtils fail(T data){
        return new ResultUtils<T>(ResultCode.FAIL.getCode(),ResultCode.FAIL.getMessage(), data,false);
    }


    @Override
    public String toString() {
        return "ResultUtils [code=" + code + ", message=" + message + ", data=" + data + "]";
    }
}

第二步 创建常用的报错信息类(在日常开发中可不写,将ReusltUtils中的ResultCode的代码换成常量即可)

注:主要是为了美观以及修改方便,所以去单独的封装一个常量信息类

/**
 * @author ProsperousEnding-fhl
 * @create 2023-07-20-15:46
 */

@Getter
public enum ResultCode {
    /**
     * 成功
     */
    SUCCESS(200, "成功"),
    FAIL(1000, "失败"),
    FAILED(400, "请求失败"),
    NOT_FOUND(404, "未找到"),
    SERVER_ERROR(500, " 服务器内部出错 "),
    /**
     * 错误参数
     */
    PARAM_IS_INVALID(1001, "参数无效"),
    PARAM_IS_BLANK(1002, "参为空"),
    PARAM_TYPE_ERROR(1003, "参数类型错误"),
    PARAM_NOT_COMPLETE(1004, "参数缺失"),
    /**
     * 用户错误
     */
    USER_NOT_LOGIN_IN(2001, "用户未登录"),
    USER_LOGIN_ERROR(2002, "账号不存在或者密码错误"),
    USER_ACCOUNT_FORBIDDEN(2003, "账户被禁用"),
    USER_NOT_EXISTS(2004, "用户不存在"),
    USER_HAS_EXISTED(2005, "用户已存在");

    /**
     * 代码
     */
    private final Integer code;
    /**
     * 信息
     */
    private final String message;

    private ResultCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
}

第三步、调用方法以及返回样式

  1. 调用方式:

使用时可以直接使用ResultUtils.方法的方式文章来源地址https://www.toymoban.com/news/detail-587069.html

   public Result getUser() {
       User user1=new User();
       user1.setName("codeTalker")
        return Result.success(user1);
   }
  1. 返回样式:
   {
       "code": 200,
       "message": "成功",
       "data":{
           "name":"codeTalker"
       }
       "status": true
   }

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

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

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

相关文章

  • 【uniapp】小程序自定义一个通用的返回按钮组件

    左边箭头,右边文字可以自定义,但是不要太长,太长可以自己改 .back的width值,改宽一点。 用这个组件的时候首先要在pages.json里把导航栏变成自定义的: 组件:backPages.vue 使用的时候需要传按钮名:backtext = ‘返回或者自定义’ 需要import引入组件并注册components才行,示例

    2024年02月12日
    浏览(46)
  • Java设计模式-前言

     馆长准备了很多学习资料,其中包含 java方面,jvm调优,spring / spring boot /spring cloud ,微服务,分布式,前端,js书籍资料,视频资料,以及各类常用软件工具,破解工具  等资源。请关注“IT技术馆”公众号,进行关注,馆长会每天更新资源和更新技术文章等。请大家多多关

    2024年01月21日
    浏览(41)
  • 5.4 如何在Mybatis中使用insert标签并返回主键id?-- 教你通用做法

    通过 《上文》,我们学会了XML映射文件Mapper的创建,以及最常用的select标签和resultMap标签,本文主要讲解 insert标签 ,用于和insert SQL语句映射,非常简单上手,只有两个点可以扩展讲讲:一个点是 insert后返回主键id(会介绍两种方式) ,另外一个点是 实现批量添加 ,原本打算

    2024年02月06日
    浏览(42)
  • java.sql.SQLException: Statement.executeQuery() cannot issue statements that do not produce result

    看看自己的java代码里的 sql语句的 select是不是写错了!   我把select写成了 selsct !!!!  

    2024年02月11日
    浏览(50)
  • 【解决】Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=99

    问题出现场景 此情况出现在Android程序将相机所拍照片存至手机的过程,主要原因是存储照片的操作反馈的数据为空,在代码中没有合理处理的原因。当使用APP时,出现了闪退现象。究于此,文章进行问题分析和解决。 出现问题的代码 相机拍照请求代码: 拍照后结果处理代

    2024年02月03日
    浏览(46)
  • Error attempting to get column ‘xxx‘ from result set. Cause: java.sql.SQLDataException错误的解决方法

    今天写好 导入hive表的详情列表 的接口,如下代码所示:

    2023年04月23日
    浏览(43)
  • Qt通用属性工具:随心定义,随时可见(三)

    传送门: 《Qt通用属性工具:随心定义,随时可见(一)》 《Qt通用属性工具:随心定义,随时可见(二)》 《Qt通用属性工具:随心定义,随时可见(三)》 本文将展示的是一个源于Qt但是却有些年头的Qt属性浏览工具。支持交互式编辑和查阅对象属性。 这可不就是妥妥的一

    2024年01月19日
    浏览(82)
  • 安装pycocotools工具(Windows/Linux系统通用)

    今天在执行命令 pip install pycocotools 命令的时候遭遇了如下令人匪夷所思的错误: 在网上尝试了很多种方法去安装 pycocotools 都以失败告终,机缘巧合找到了一种方法,亲测可用。 机缘巧合下自己拼凑了一种可用的方法,总结如下,希望大家少走弯路: 先检查自己有没有下载

    2024年02月16日
    浏览(40)
  • 微信开发者工具出现警告:请注意游客模式下,调用 wx.operateWXData 是受限的, API 的返回是工具的模拟返回。

    问题出现背景: 第一次使用微信开发者工具时候控制台出现的警告。 原因: 微信开发者工具中创建项目时默认的AppID是参考示例,需要关联我们自己\\\"微信小程序\\\"的AppID。 解决方法: 登录\\\"微信公众平台\\\"——选择\\\"小程序\\\"——找到开发下面的开发管理——开发设置——开发者

    2024年02月12日
    浏览(66)
  • 鸿蒙API9+axios封装一个通用工具类

    使用方式: 打开Harmony第三方工具仓,找到axios,如图: 第三方工具仓网址:https://ohpm.openharmony.cn/#/cn/home 在你的项目执行命令:ohpm install @ohos/axios 前提是你已经装好了ohpm ,如果没有安装,可以在官网找到详细的安装教程; 注意:不是在你的entry目录下,比如你的项目名称:

    2024年04月17日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包