返回结果实体类ResultData

【Spring Boot】【前后端分离】后端接口返回结果统一封装 最近在尝试使用前后端分离的模式写一个简单的个人博客,遇到接口数据返回结构的问题,在网上查了一圈,发现了一个很好用的方法,在复现的过程中也遇到了不少坑点,特意在这记录下。这个时候如果发生异常还没办法处理,我们可以由全局异常处理器统一捕获,使用全局异常处理器最大的便利就是写代码时不再需要手写。太麻烦了,可以使用 SpringBoot 实现返回对象的自动封装,创建。使用 postman 接口测试工具,分别测试两个接口,可以得到预期的结果。包,和结果封装相关的类都放在这个包里,创建。包,下包下创建全局异常处理器。 阅读详情
package com.yxb.common.base.entity;

import java.util.HashMap;
import java.util.Map;

public class ResultData<T extends Object>  {
    public static Integer SUCCESS = 0;
    public static Integer FAIL = 1;
    private Integer code;
    private T data;
    private String rtnInfo;
    private Map<String,Object> expandData = new HashMap<String,Object>();

    public ResultData() {
        this.code = FAIL;
        this.rtnInfo = "网络异常,请稍后重试!";
    };

    public ResultData(int code, String rtnInfo) {
        this.code = code;
        this.rtnInfo = rtnInfo;
    }

    public ResultData(int code, String rtnInfo, T data){
        this.code = code;
        this.rtnInfo = rtnInfo;
        this.data = data;
    }

    //成功直接返回
    public static ResultData ok() {
        return new ResultData(SUCCESS, "操作成功!");
    }

    //成功 返回数据
    public static ResultData ok(Object data,String... returnInfo) {
        if(returnInfo.length > 0){
            return new ResultData(SUCCESS,returnInfo[0],data);
        }else{
            return new ResultData(SUCCESS,"操作成功!",data);
        }
    }

    //失败直接返回 ResultData.fail()
    public static ResultData fail() {
        return new ResultData(ResultData.FAIL, "服务器异常!");
    }

    //失败直接返回 ResultData.fail(msg)
    public static ResultData fail(String msg) {
        return new ResultData(ResultData.FAIL, msg);
    }

    //失败直接返回 ResultData.fail(msg)
    public static ResultData fail(Integer code,String msg) {
        return new ResultData(code, msg);
    }

    //失败 根据code返回错误原因
    public static ResultData fail(Integer code){
        return new ResultData().initCodeAndDesp(code);
    }

    public ResultData initCodeAndDesp(int code){
        this.code = code;
        this.rtnInfo = ResultDataDetail.resultMap.get(String.valueOf(code));
        return this;
    }

    public ResultData initCodeAndDesp(int code,String rtnInfo){
        this.code = code;
        this.rtnInfo = rtnInfo;
        return this;
    }

    public ResultData initCodeAndDesp(){
        this.code = ResultData.SUCCESS;
        this.rtnInfo = "操作成功!";
        return this;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public Integer getCode() {
        return code;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public String getRtnInfo() {
        return rtnInfo;
    }

    public void setRtnInfo(String rtnInfo) {
        this.rtnInfo = rtnInfo;
    }

    public Map<String, Object> getExpandData() {
        return expandData;
    }

    public void setExpandData(Map<String, Object> expandData) {
        this.expandData = expandData;
    }

    @Override
    public String toString() {
        return "ResultData{" +
                "code=" + code +
                ", data=" + data +
                ", rtnInfo='" + rtnInfo + '\'' +
                ", expandData=" + expandData +
                '}';
    }


}

小白日记--返回数据的三种常用封装形式 #List<Map<String,Object>> #List<自定义的类对象> #List<Object[ ]> 阅读详情

相关推荐

接收后端返回的pdf文件流 前端使用Vue-pdf实现预览(分页)

后端返回文件流前端将文件流转为成blob地址预览pdf文件

WuqibuHuan的博客 1万+

统一返回值ResultData以及全局异常接入

统一返回值ResultData以及全局异常接入

f552126506的博客 818

从零配置华为S5720交换机VLAN:Web界面与命令行双模式详解(附拓扑图)

本文详细解析华为S5720交换机VLAN配置的全过程,涵盖Web界面与命令行(CLI)双模式操作指南。从基础环境准备到多交换机环境配置同步,特别针对S5720-52X系列交换机的VLANif接口、端口分配策略及交换机堆叠技术进行深入讲解,并附实用拓扑图与配置示例,助力企业网络管理员高效完成VLAN部署。

happy2的博客 1374

ResultData 返回数据类

方便统一ashx返回类型~weiapi也行~ /// <summary> /// 返回数据 /// </summary> public class ResultData { /// <summary> /// 操作状态 /// </summary>...

weixin_30588907的博客 1231

MATLAB 论文复现——基于虚拟储能的电动汽车充放电调度策略及激励评价

文章基于虚拟储能聚合体仿真模型优化电动汽车充放电调度,并采用复合权重评价电动汽车的充电激励。根据电动汽车灵活性和系统稳定性衡量其贡献大小,并通过模糊推理系统模拟用户的充电意愿,实现对电动汽车充电的引导和优化。[1]陈朔,胡昊,方慧敏,等.基于虚拟储能的电动汽车充放电调度策略及激励评价[J/OL].系统仿真学报,1-12[2024-07-24].https://doi.org/10.16182/j.issn1004731x.joss.23-1316.基于虚拟储能的电动汽车充放电调度策略及激励评价。

sjr1478的博客 366

【TM1640】STM32 TM1640芯片驱动程序

以下为.h文件: #ifndef __TM1640_H__ #define __TM1640_H__ #include "stm32f10x.h" #define ADDR_START1640 0XC0 #define DSP1640_DIS 0 #define DSP1640_ENB 1 /* 控制显示 ...

cxw312864660的博客 1万+

统一返回结果处理

import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import java.util.HashMap; import java.util.Map; /** * ResultData 用于返回值封装,也用于服务端与客户端的 json 数据通信 * * &lt...

qq_37202554的博客 1107

3DGS-to-PC实战指南:零代码实现3D高斯场景到点云/Mesh的高效转换

本文详细介绍了3DGS-to-PC工具如何实现3D高斯场景到点云/Mesh的高效转换,无需代码即可完成。通过实战案例和参数调优技巧,帮助用户快速掌握这一开源插件的使用方法,提升3D数据处理效率。特别适合建筑扫描、影视特效等领域的专业人士。

q1w3e5r7t9y的博客 277

springboot统一返回结果

为了规范接口标准,方便前后端联调,减少沟通成本,需要进行接口返回结果的统一 定义枚举类:ResultCode 该枚举类用于定义返回状态码与描述信息;作用是方便维护统一状态与描述信息,也方便查错。 public enum ResultCode { SUCCESS(200,"成功"), NOT_FOUND(404,"连接未找到"), BAD_REQUEST(400,"请求无效"), //....等等 ; private Integer code; private String

gkr_123的博客 615

TCP/IP协议栈之LwIP(三)---网际寻址与路由(IPv4 + ARP + IPv6)

一、网际寻址原理 当网络设备地址总数并不是很多的情况下,有了唯一地址(比如MAC地址)就可以定位相互通信的主体。然而,当地址总数越来越多时,如何高效地从中找出通信的目标地址将成为一个重要的问题。为此人们发现地址除了具有唯一性还需要具有层次性。MAC地址虽然具有唯一性,但没有层次性,也即当网络设备增加到一定程度,需要将网络分成多个数据链路时,MAC地址无法跨链路寻址,是真正负责最终通信的地址。要实现跨局域网的网际寻址,就要靠具有层次性的网络IP地址实现了。

流云 6821

西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件

西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件

liang007dudu的博客 1万+

【Java】springboot标准结果返回与异常捕获

1、标准格式样例 一个标准的接口结果应该是下面样子: 成功的情况下: { "success": true, "code": 200, "message": "执行成功", "data": { "id": 4, "magicId": "gis", "firstName": "tom", "lastName": "" } } 失败的情况下: { "success": false,

我的笔记 2720

全面绩效管理:提升整体效能

《全面绩效管理:提升整体效能》 关键词:绩效管理、整体效能、团队绩效、个体绩效、领导力、数字化转型 摘要:本文从绩效管理的基础概念入手,深入探讨了绩效管理体系构建、绩效指标

AI天才研究院 604

SpringBoot 如何统一后端返回格式?老鸟们都是这样玩的!

大家好,我是飘渺Jam,今天我们来聊聊分布式事务,以及常见的几种解决方式。 分布式事务基础 事务 事务指的就是一个操作单元,在这个操作单元中的所有操作最终要保持一致的行为,要么所有操作都成功,要么所有的操作都被撤销。简单地说,事务提供一种“要么什么都不做,要么做全套”机制。 本地事务 本地事务其实可以认为是数据库提供的事务机制。说到数据库事务就不得不说,数据库事务中的四大特性: A:原子性(Atomicity),一个事务中的所有操作,要么全部完成,要么全部不完成 C:一致性(Consistency),在一个

飘渺Jam的博客 6503

[Dify] -进阶13- 使用“知识库 + 工作流”打造智能推荐系统

本文介绍了在Dify平台上构建智能推荐系统的方法,重点阐述了知识库与工作流技术的结合应用。通过知识库管理RAG流程,实现文档上传、向量嵌入和检索优化;利用工作流设计节点化推荐逻辑,支持并行处理与条件分支。以电话销售话术推荐为例,展示了从数据收集到实时生成的完整流程。该方法具有准确性高、扩展性强、维护简便等优势,可广泛应用于各类推荐场景,实现从数据存储到智能推荐的闭环解决方案。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 1069

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

springboot 定义统一返回结果

前后端分离项目中后端开发需要写相应的接口,定义统一的返回格式有利于提高开发效率和沟通的成本。通常返回的格式主要如下两种: ##### 1. 只返回相应的状态,格式如下: ``` { "code": "200", "msg": "SUCCESS" } ``` ##### 2. 返回相应的状态及数据,格式如下: ``` { "code": "200", "msg": "查询成功", "result": { "id": 10, ...

FighterLiu的专栏 7100

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【SpringBoot统一返回结果集】

SpringBoot规范统一返回结果集 创建响应体 /** 1. @author 苏育科 2. @date 2021-07-28 10:29:10 3. @describe: */ @Data public class ResultData { @ApiModelProperty("请求响应码") private int code; @ApiModelProperty("请求消息体") private String msg; @ApiModelPro

职场小白 990

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

数学建模模型总结

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

Android获取界面的返回结果

Android获取界面的返回结果异步获取界面的返回结果,不需要使用onActivityResult,去接收界面的返回数据,如果接入过QQ 微博的账号系统,会知道他们会将登陆结果返回在onResult onError onCanel方法中。下文接收如何实现。 aidl接口 1.实现aidl回调接口/** * The interface used to return responses from ac

紫川竹的专栏 1179

Restful风格常用的响应结果总结

通常在我们构建Controller层的Restful接口的时候,需要统一返回一定格式的数据,下面是在项目中用到的格式的一个简单的总结 1. ResultData: package cn.cuit.datas.common; import java.io.Serializable; import java.util.ArrayList; import java.util.Iterator...

weixin_42465125的博客 1814

Spring Boot JAVA 统一返回的信息

"message": "请求成功","data": {""code 表示返回的状态,我们这个可以自行定义,10000 代表成功;20000 代表某某等;message 表示接口返回的信息,是否成功了,失败的理由是什么等;data 是表示请求成功后,返回的数据,可以是数组也可以是对象等。信息返回格式,是否应该有其他字段,按照需求调整。@Data// 扩展字段,比如接口请求时间// 构造函数// 成功返回resultData.setMessage(("请求成功!"));

mxt51220的博客 708

java统一返回结果集封装,解决No converter found for return value of type

网上很多,自己参照手写了一个。 package com.***.pro.utils; /** * @Author: wsh */ public class Result<T> { private Boolean success; private Integer code; private String messagg; private...

Say no to the bugs 890

HarmonyOS WPS Open SDK:关闭回传 URI-FD 与 ResultData 解析实现

讲解 HarmonyOS 应用通过 WPS Open SDK 配置关闭回传(URI/FD)、解析 sendRequest 返回的 ResultData,以及将 WPS 沙箱文件拷贝到本应用沙箱的实现要点。

less_12138的博客 258

自定义注解实现接口统一返回(携带注解才会统一返回)

实现自定义注解: 优点:只要在接口类或者接口方法上携带该注解,接口都可以自动通过类似Result返回,不需要自己手动规整统一返回。问题: 发现每个接口请求返回的内容都不一样,前端处理起来麻烦;后端处理的话每个接口都要通过类似Result的对象返回。其中的"com.tool.controller"为自己controller对应的包路径。主要的目的是判断是否使用了@UnifiedReturn注解标注;创建标识注解类 UnifiedReturn (注解名字自定义)定义code编码 ResultCode。

qq_43759721的博客 588

定义统一的返回格式(controller)

一:单独创建一个类来表示返回结果 package com.jk51.commons.dto; /** * Created by Administrator on 2017/6/13. */ public class PacketHead { public static final String STATUS_SUCCESS = "OK";//成功 pu...

weixin_33937778的博客 1004

微服务项目优化:1、统一时间格式;2、统一返回值类型ResultData;3、全局异常处理

微服务项目优化:1、统一时间格式;2、统一返回值类型ResultData;3、全局异常处理

LiuYQi的博客 543

Springboot自定义返回格式

在Springboot中自定义返回数据的格式。

learnC_的博客 1958
上一篇: 日期工具类DateUtil
下一篇: 错误代码类ResultDataDetail
hit、run
博客等级 码龄10年 163粉丝 157原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值