Java工具类Result

后端响应结果工具类Result 后端响应结果工具类Result 结果工具类,用于后端给前端的响应。 好处:格式统一,使用方便; 使用泛型,包容各种类型,允许传入自定义code和message。 也可以快速响应成功或失败 package com.demo.document.common; import lombok.Data; /** * @author CCL * @since 2021年12月24日 */ @Data public class Result<T> { private int code; 阅读详情
AI摘要

本文介绍了如何使用Java编写Result类,通过枚举与泛型实现状态码、错误信息和数据的统一管理,提升前后端交互效率。两种Result类编写方式对比,适用于不同场景的代码组织。

Java工具类Result

Result:(下面写了两种Result类的编写方式,这两种的使用方法在最后面),最主要的功能就是为了向前端发送数据的时候能够更高效快捷,编写代码如下:

首先编写一个枚举类
/**
 * @创建人 zengyuqiang
 * @创建时间 2022/6/24
 * @描述
 */
public enum Status {
    OK(200,"请求成功"),
    SYSTEM_ERROR(101,"系统异常"),
    SQL_ERROR(109,"SQL语句异常");
    ;
    //状态码
    private Integer code;
    //错误信息
    private String message;
    //构造器
    Status(Integer code,String message){
        this.code=code;
        this.message=message;
    }
    //只需要添加get方法就行
    public Integer getCode() {
        return code;
    }
    public String getMessage() {
        return message;
    }

    @Override
    public String toString() {
        return code+":"+message;
    }
}
Result类编写方式一:
/**
 * @创建人 zengyuqiang
 * @创建时间 2022/6/24
 * @描述
 */
public class R<T> {
    //状态码
    private Integer status;
    //错误的状态信息
    private String message;
    //数据
    private T data;

    //get方法:获取状态码
    public Integer getStatus() {
        return status;
    }
    //get方法:获取错误状态信息
    public String getMessage() {
        return message;
    }
    //get方法:获取数据内容
    public T getData() {
        return data;
    }
    /**
     * 构造器(私有化),这里写了3个构造器。根据实际发开需要添加即可
     */
    private R(Integer status,String message,T data){
        this.status=status;
        this.message=message;
        this.data=data;
    }
    private R(Integer status,String message){
        this.status=status;
        this.message=message;
    }
    private R(String message){
        this.message=message;
    }
    
    //下面就是根据需要返回不同参数格式的方法
    /**
     * 返回《状态码》《状态信息》《数据》
     * 状态码来自--->>枚举
     * 状态信息来自--->>开发人员
     * 数据来自--->>开发人员
     */
    public static <T> R<T> buildR(Status status,String message,T data){
        return new R<T>(status.getCode(),message,data);

    }

    /**
     * 返回《状态码》《状态信息》《状态信息》
     * 状态码来自--->>枚举
     * 状态信息来自--->>开发人员
     */
    public static <T> R<T> buildR(Status status,String message){
        return new R<T>(status.getCode(),message);
    }
    /**
     * 返回《状态码》《状态信息》《数据》
     * 状态码来自--->>枚举
     * 状态信息来自--->>枚举
     * 数据来自--->>开发人员
     */
    public static <T> R<T> buildR(Status status,T data){
        return new R<T>(status.getCode(),status.getMessage(),data);
    }
    /**
     * 返回《状态码》《状态信息》《数据》
     * 状态码来自--->>枚举
     * 状态信息来自--->>枚举
     * 数据来自--->>开发人员
     */
    public static <T> R<T> buildR(Status status){
        return new R<T>(status.getCode(),status.getMessage());
    }
}
Result类编写方式二:
/**
 * @创建人 zengyuqiang
 * @创建时间 2022/6/25
 * @描述
 */

public class R1<T> {
    private static Integer status;//状态码
    private static String message;//错误的的状态信息
    private T data;
    //构造器私有化
    private R1(){};

    //下面的方法,根据开发需求添加即可
    //请求成功调用此方法
    public static R1 OK(){
        R1 r1 = new R1();
        status=Status.OK.getCode();
        message=Status.OK.getMessage();
       return r1;
    }

    //系统异常调用此方法
    public static R1  SYSTEM_ERROR(){
        R1 r1 = new R1();
        status=Status.SYSTEM_ERROR.getCode();
        message=Status.SYSTEM_ERROR.getMessage();
        return r1;
    }

    //SQL语句异常调用此方法
    public static R1  SQL_ERROR(){
        R1 r1 = new R1();
        status=Status.SQL_ERROR.getCode();
        message=Status.SQL_ERROR.getMessage();
        return r1;
    }

    //传数据的方法
    public R1 data(T data){
        this.data= data;
        return this;
    }

    //toString方法
    @Override
    public String toString() {
        return "R1{" +
                "data=" + data +";"+
                "status=" + status +";"+
                "message=" + message +
                '}';
    }

将上面的枚举和工具类Result定义好后,下面就可以使用了

Result类编写方式一的用法:

@Controller
@RequestMapping("/AdsController")
public class AdsController {
    @ResponseBody
    @RequestMapping("/getAdsByType.action")
    public R<Object> getAdsByType(Integer adTypeId) throws SQLException {
         //下面的Object可以是任何类型的数据,也可以是数组或者集合
        return R.buildR(Status.OK,Object);
    }

}

Result类编写方式二的用法:

@Controller
@RequestMapping("/workers")
public class WokeresController {
    @ResponseBody
    @RequestMapping("/getWorkerByGroupPage.action")
    public R1 getWorkerByGroupPage(int currentPage, int size) throws SQLException {
       //R1.OK() --->R1调用方法OK(),表示调用枚举类ok的对象 --->返回的也是一个R1对象;
       //.data()--->这里的意思是上面返回的R1对象调用了方法.data()--->这个时候返回的还是一个R1对象;
       //由于上一行还是返回的R1对象,所以还可以在后面又去调用.data()。以此类推,后面可以无限制调用.data()方法,并且data用泛型修饰,所以可以根据开发需求调用即可对应的个数即可
        return R1.OK().data("集合数据").data("数组数据").data("name=zengyuqiang");
    }
}
AGM Supra软件从零到一:国产CPLD工程创建全流程实战解析 本文详细解析了AGM Supra软件在国产CPLD开发中的全流程实战操作,从工程创建到代码开发、编译调试,再到高级技巧与疑难排解。特别对比了Supra与Quartus的差异,提供了工程路径管理、Quartus项目转换、HDL代码规范等实用技巧,帮助开发者高效完成CPLD项目开发。 阅读详情

相关推荐

Spring WebFlux响应式编程实战(三):优雅处理异常与高效调试技巧

本文深入探讨了Spring WebFlux响应式编程中的异常处理与调试技巧。文章通过电商订单流处理场景,详细解析了Reactor核心操作符onErrorReturn、onErrorResume和onErrorMap的实战应用,并介绍了如何构建@ControllerAdvice和WebExceptionHandler全局异常处理防线。同时,提供了使用.log()操作符、Hooks.onOperatorDebug()及BlockHound进行高效调试的方法,旨在帮助开发者构建健壮、可维护的响应式应用。

weixin_29252171的博客 67

JavaWeb中用来定义统一的响应结果的result类

在JavaWeb中,通常会使用一个名为Result的类来表示控制器方法的执行结果。这个类的作用是封装了控制器方法执行后的返回结果,包括要返回的数据、跳转的视图等信息。ResultResultResult使用Result类可以提高代码的可读性、可维护性和可扩展性,是一种常见的在JavaWeb开发中处理控制器方法返回结果的方式。使用ResultResult类封装了控制器方法的执行结果,将数据、视图路径、重定向标志和错误信息等相关信息封装在一个对象中,使得控制器方法的返回结果更加清晰和统一。:通过Result。

多多的博客 13万+

Zemax非序列模式微透镜阵列仿真:从建模到优化完整指南

光线追迹是光学系统仿真的核心技术,其原理基于几何光学与物理光学的光线传播模型,通过精确计算光线在光学元件中的折射、反射与散射路径,实现对系统性能的预测与评估。在微透镜阵列等复杂多通道光学系统中,传统序列模式因光线路径受限而难以准确模拟串扰与杂散光,非序列光线追迹技术则凭借其灵活的空间传播机制成为关键手段。该技术广泛应用于激光整形、光束匀化、3D传感及光场成像等领域,能够有效支持阵列结构设计与优化。Zemax非序列模式为微透镜阵列仿真提供了完整的建模、优化与公差分析流程,是光学工程师进行复杂系统设计的核心工具

weixin_29967003的博客 335

Java封装公共Result结果返回类

在使用Java开发接口请求中,我们需要对请求进行进行统一返回值,这时候我们自己封装一个统一的Result返回类,下面就介绍下我用的这种的这个类当然,也可以使用第三方库封装的Result结果返回类,根据个人喜好选择即可。以上就是我自己写的一个Result结果返回类,对于现在的需求来说,完全是够用的,如果后面进行升级会再来更新。

见证自己学习,成长的记录 8948

Pytorch(一) Pytorch 的安装

安装步骤 1.检查是否有合适的GPU, 若有安装Cuda与CuDNN 2.下载pytorch安装文件,进行pytorch的安装 检查电脑是否有合适的GPU 在桌面上右击如果能找到NVIDA控制面板,则说明该电脑有GPU。控制面板如下,并通过查看系统信息获取支持的Cuda版本 点击 帮助->点击 系统信息 弹出下面的对话框,在驱动程序版本那一栏就能看到该计算机使用的驱动版本。 ...

开开心心 25万+

中移物联ML307C模组OPENCPU开发环境搭建全攻略

本文详细介绍了中移物联ML307C模组OPENCPU开发环境搭建的全过程。从OPENCPU模式的核心优势解析,到SDK获取、Python与scons工具安装,再到解读SDK目录结构与实战编译命令,最后提供常见问题避坑指南,帮助开发者快速构建高效的物联网应用编译环境。

weixin_29168393的博客 745

Result类

Result类 返回值是int code,String msg,Object data。在java后端的开发中,我们需要用到一个类 返回类。

qq_43346784的博客 1702

超详细!新手必看STM32-DMA配置与实验(串口使用DMA发送数据)

DMA就是:直接存储器访问。DMA传输数据从一个地址空间复制到另一个地址空间,提供在外设和存储器或者存储器和存储器之间的高速数据传输。

qq_1033275663的博客 2万+

java后端返回的统一格式——Result类的常见写法

java后端返回的Result类的常用写法

Crush777的博客 1230

OTP/EEPROM 读取与处理

Camera OTP/EEPROM 读取与处理 文章目录Camera OTP/EEPROM 读取与处理1. OTP概念1.1 基本概念1.2 OTP存储类型1.3 OTP烧录信息类型1.4 OTP 作用2. 配置准备2.1 基本认识2.2 OTP/EEPROM配置3. OTP/EEPROM datasheet理解 以及 读取方式3.1 data sheet 内容3.2 一般OTP/EEPROM(e...

Understand-image 1万+

RTDETR最强结构图 | 包含模型整体结构图 | 全模块展开图 | AiFi模块展开图

RT-DETR 最全结构图

Coding... 9600

后端-Result.java工具类和SystemCode.java工具类

Result.java工具类和SystemCode.java工具类

weixin_46969393的博客 1159

YOLOv8改进:基于EfficientNetV2均衡缩放网络的特征提取层优化【YOLOv8】

YOLO(You Only Look Once)系列模型以其高效的实时目标检测能力而闻名。YOLOv8作为该系列的最新版本,通过引入改进的网络结构和算法优化,进一步提升了目标检测的性能。然而,YOLOv8在特征提取阶段的网络结构仍有改进的空间。EfficientNetV2是一种基于均衡缩放的卷积神经网络,它通过优化网络的宽度、深度和分辨率来实现高效的特征提取。与之前的EfficientNet版本相比,EfficientNetV2在速度和精度上都有显著提升,尤其在处理复杂目标检测任务时表现尤为突出。

博客 1582

Java返回结果工具类Result

package com.xcx.exam.utils; import lombok.Data; @Data public class Result { private Integer code; private String msg; private T data; } package com.xcx.exam.utils; public class ResultUtils { public static Result success(Object obj) { return getResul

weixin_44311665的博客 8686

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java中result结果工具类

1.该类规范地规定了返回格式。

weixin_43689176的博客 33

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java工具类Result<T>

public class Result<T> { /** * 状态码 */ private String status; /** * 获取状态。 * * @return 状态 */ public String getStatus() { return status; } /** * 状态信息,错误描述. */ private String

Marblog 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java工具类:返回结果集Result工具类以及JSONUtil

用于开发返回数据封装结果集Result工具类 import java.io.Serializable; import java.util.List; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; /** * json结果集 */ p...

大誌的博客 2万+

Java通用返回Result工具类

Java通用返回Result工具类

AKANGYONG的博客 3814

java自用工具类---Result返回类

学习用

weixin_50235632的博客 156

Java工具类Result<T>、ResultCodeEnum、JwtHelper、GlobalExceptionHandler

Java工具类Result<T>、ResultCodeEnum、JwtHelper、GlobalExceptionHandler

qq_44999561的博客 1059

java的result类

javaweb项目可以用到的一个工具类。

qq_61715584的博客 638

结果工具类使用Result、MsgResponse

目的:结果展示规范化。

weixin_43660497的博客 815

Result工具类,前后端分离

存放列表 Result工具类代码 package com.example.springboot.Util; public class Result<T> { //告诉前端返回数据成功与否 private String code; //保留数据错误信息 private String msg; //泛型数据 任何类型数据均可以被包含 private T data; public String getCode() { re

ProHc的博客 804

工具类

工具类: Result package com.test.user.common; public class Result { private final static String SUCCESS_CODE = "200"; private final static String ERROR_CODE = "400"; private String code;...

weixin_42313065的博客 122

springboot 封装的比较好的 统一的返回类型 工具类

用的时候要注意包的地址。

hanker的博客 276

Java后端开发常用工具类

个人开发过程中收集的常用工具类。

秋书一叶的博客 991
上一篇: MySQL中视图的用法简述
下一篇: 关于读取配置文件Propertise基本用法
sysouthello
博客等级 码龄5年 6粉丝 6原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值