Spring Boot 统一返回前端封装VO类型结果集定义

2023-11-18

现在大部分项目都是前后端分离的项目,为了统一管理,后端需要对数据进行封装对应的VO数据,什么是Vo我就不叙述了,这里贴出我自己的VO封装类,项目的故障码并没有定义太多,所以也没有定义枚举类型,供大家参考:

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.io.Serializable;

@ApiModel(description = "响应信息")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ServerResponseVO<T> implements Serializable {
    private static final long serialVersionUID = -1005863670741860901L;
    @ApiModelProperty("响应码")
    private Integer code;
    @ApiModelProperty("响应信息描述")
    private String message;
    @ApiModelProperty("响应数据")
    private T data;

    public ServerResponseVO(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
    public static <T> ServerResponseVO<T>  success(){
        return  new  ServerResponseVO(200,"成功");
    }
    public static <T> ServerResponseVO<T>  success(String  msg){
        return  new  ServerResponseVO(200,msg);
    }
    public static <T> ServerResponseVO<T>  success(String  msg,T data){ return new  ServerResponseVO(200,msg,data); }
    public static <T> ServerResponseVO<T> error(String message){
        return new ServerResponseVO(500,message);
    }
    public static <T> ServerResponseVO<T> error(Integer code,String message,T obj){ return new  ServerResponseVO(code,message,obj); }
    public static <T> ServerResponseVO<T> error(String message,T obj){
        return new ServerResponseVO(500,message,obj);
    }

}

这里说下为什么用了泛型而不用Object类型,是因为项目用了Swagger2 来加载线上文档,如果不写泛型T,在文档上不显示Result封装结果集里面的注释,当然你也可以不加,都行

另外在返回前端的数据中会有很多null的值,似乎不是很优雅,当然也是可以解决的,我们在配置文件中配置:

spring:
  jackson:
    default-property-inclusion: non_null

这里注意跟前端交接好哦,看前端是否必须要这些字段再配置;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot 统一返回前端封装VO类型结果集定义 的相关文章

  • 如何在由子控件组成的 SWT 复合材料上跟踪鼠标?

    我创建了自己的控件 我想跟踪鼠标并添加一个MouseTrackListener 很遗憾MouseEnter and MouseLeave当鼠标移动到我的合成部分 即标签和按钮 上时 也会生成事件 Mouse enter mouse ente
  • 如何在java中将数组值排序为循环格式?

    我的数组值如下 String value 1 2 3 4 5 6 7 8 9 10 假设如果我将值 5 传递给 tat 数组 它应该按如下顺序排序 5 6 7 8 9 10 1 2 3 4 怎么办 有人帮忙吗 感谢你 你需要的就是所谓的轮换
  • 如何在 JavaFX 中连接可观察列表?

    我所说的串联是指获得一个新列表 该列表侦听所有串联部分的更改 方法的目的是什么FXCollections concat ObservableList
  • 两个整数乘积的模

    我必须找到c c a b mod m a b c m 是 32 位整数 但 a b 可以超过 32 位 我正在尝试找出一种计算 c 的方法 而不使用 long 或任何 gt 32 位的数据类型 有任何想法吗 如果m是质数 事情可以简化吗 注
  • eclipse行号状态行贡献项是如何实现的?

    我需要更新状态行编辑器特定的信息 我已经有了自己的实现 但我想看看 eclipse 贡献项是如何实现的 它显示状态行中的行号 列位置 谁能指点一下 哪里可以找到源代码 提前致谢 亚历克斯 G 我一直在研究它 它非常复杂 我不确定我是否了解完
  • 为什么即使我的哈希码值相同,“==”也会返回 false

    我写了一个像这样的课程 public class HashCodeImpl public int hashCode return 1 public static void main String args TODO Auto generat
  • 如何调试“com.android.okhttp”

    在android kitkat中 URLConnection的实现已经被OkHttp取代 如何调试呢 OkHttp 位于此目录中 external okhttp android main java com squareup okhttp 当
  • 将非 Android 项目添加到 Android 项目

    我在 Eclipse 中有三个项目 Base Server 和 AndroidClient Base和Server是Java 1 7项目 而AndroidClient显然是一个android项目 基础项目具有在服务器和 Android 客户
  • 如何在java中将日期格式从YYMMDD更改为YYYY-MM-DD? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我从机器可读代码中获取日期格式为 YYMMDD 如何将其更改为 YYYY MM DD 例如我收到 871223 YYMMDD 我想把它改成
  • 如何在字段值无效的情况下更改 Struts2 验证错误消息?

    我在 Web 表单上使用 Struts2 验证 如果字段假设为整数或日期 则
  • Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

    我正在研究成熟商业产品中的一个问题 简而言之 我们使用 Apache POI 库的一部分来读取 Word DOC 或 DOCX 文件 并将其转换为 XSL FO 以便我们可以进行标记替换 然后 我们使用嵌入到 Java 程序中的 FOP 将
  • 如何将 HTML 链接放入电子邮件正文中?

    我有一个可以发送邮件的应用程序 用 Java 实现 我想在邮件中放置一个 HTML 链接 但该链接显示为普通字母 而不是 HTML 链接 我怎样才能将 HTML 链接放入字符串中 我需要特殊字符吗 太感谢了 Update 大家好你们好 感谢
  • 在 Java 中获取并存储子进程的输出

    我正在做一些需要我开始子处理 命令提示符 并在其上执行一些命令的事情 我需要从子进程获取输出并将其存储在文件或字符串中 这是我到目前为止所做的 但它不起作用 public static void main String args try R
  • 为什么\0在java中不同系统中打印不同的输出

    下面的代码在不同的系统中打印不同的输出 String s hello vsrd replace 0 System out println s 当我在我的系统中尝试时 Linux Ubuntu Netbeans 7 1 它打印 When I
  • 在 Spring 上下文中查找方法级自定义注释

    我想知道的是 所有的类 方法Spring http en wikipedia org wiki Spring Framework注释为 Versioned的bean 我创建了自定义注释 Target ElementType METHOD E
  • 在java中以原子方式获取多个锁

    我有以下代码 注意 为了可读性 我尽可能简化了代码 如果我忘记了任何关键部分 请告诉我 public class User private Relations relations public User relations new Rela
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • 抛出 Java 异常时是否会生成堆栈跟踪?

    这是假设我们不调用 printstacktrace 方法 只是抛出和捕获 我们正在考虑这样做是为了解决一些性能瓶颈 不 堆栈跟踪是在构造异常对象时生成的 而不是在抛出异常对象时生成的 Throwable 构造函数调用 fillInStack
  • Java 11 - 将 Spring @PostConstruct 替换为 afterPropertiesSet 或使用 initMethod

    我正在使用 spring 应用程序 有时会使用 PostConstruct用于代码和测试中的设置 看来注释将被排除在外Java 11 https www baeldung com spring postconstruct predestro
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • Mockito 如何 mock 静态方法

    在实际工作当中 我们经常会遇到需要对静态方法进行 mock 的情况 在 mockito 2 x 的时代 我们需要借助 powmock 才能实现 当 mockito 进化到了 3 4 0 版本以后 也开始对静态方法 mock 进行了支持 主要
  • 组装台式计算机需要哪些配件,组装一台电脑需要哪些配件【详细列举】

    电脑是我们生活中常见的电子产品 尤其是台式机是我们大家常用的工具 而对于电脑而言大部分朋友都是不陌生的 因为电脑在我们平时生活中是经常使用的 但是对于购买电脑的时候 很多朋友都会觉得商场的电脑总是不符合我们心意 这个时候组装电脑就是非常有需
  • 你真的把数据库事务搞懂了吗,有图有真相,图文并茂!

    数据库事务 数据库事务 jdbc事务 事务的ACID 数据库的并发 数据库的四种隔离级别 数据库事务 数据库事务 transaction 是访问 并可能操作各种数据项的 一个数据库操作序列 这些操作要么 全部执行 要么 全部不执行 是一个不
  • 利用 DNSLog无回显注入

    DNSLog概念 DNSLog 域名系统日志 是一种特殊的技术和服务 用于捕获和记录通过域名系统 DNS 协议进行的请求和响应 它的目的是帮助用户跟踪 分析和管理DNS流量 并收集与域名相关的信息 基本上 DNSLog服务提供了一个自定义的
  • Archlinux 折腾记录~

    新建虚拟机 值得注意 典型配置 直接选择镜像文件 官网下载 版本选择 其他Linux N x 或更高版本内核64位 开机前 虚拟机设置 gt 选项 gt 高级 gt 选择UEFI 必须 配置 1 确保网络畅通 ping www baidu
  • 直播APP源码开发,直播APP源码搭建,如何优化程序?

    直播APP源码由最初的传统秀场类直播 再到现在各种细分垂直分类的游戏和电商等类别 随着技术和时代的不断发展和更新迭代 出现了一种名为SDK的东西 成为了开发直播app源码时必需的好帮手 1 节约成本 开发软件的过程中 如果是一点点地敲代码完
  • 解决python在windows上运行弹出cmd窗口(dos窗口)

    运行python程序的时候会在背景显示一个cmd 要想不显示其实很简单 虽然是我找了1个小时 才了解的基本知识 方法1 pythonw xxx py 方法2 将 py改成 pyw 这个其实就是使用脚本解析程序pythonw exe 原文 1
  • Ubuntu安装ROS

    原文链接 https blog csdn net qq 44830040 article details 106049992 这也是我在ubuntu里面安装ROS的第N次 以前每次安装过程都忘记总结了 导致每次安装ROS都浪费了很多的时间用
  • Mysql 安装

    Mysql 安装 环境 windwos 10 1511 64bit mysql 5 7 14 一 下载mysql 1 在浏览器里打开mysql的官网http www mysql com 2 进入页面顶部的 Downloads 安卓培训 IT
  • Vite3 + Svelte3使用@import导入scss样式

    近年来 前端技术日新月异 Vite Vue3 Svelte SolidJS 等框架工具大放异彩 身为一个前端开发 总感觉一刻不学习就要out了 最近使用 Vite3 Svelte3 来构建封装自定义的 Web Components 开始了艰
  • 开发板配置NFS服务

    文章目录 NFS介绍 NFS版本 NFS服务器和客户端 安装NFS 配置NFS服务器 启动NFS服务 挂载NFS共享 NFS安全性 NFS日志 开发板配置NFS环境 环境 操作前先关闭防火墙 配置过程 server端的配置 开发板的操作 常
  • 华为OD机试真题 Java 实现【拔河比赛】【2023 B卷 100分】,附详细解题思路

    目录 专栏导读 一 题目描述 二 输入描述 三 输出描述 四 解题思路 五 Java算法源码 六 效果展示 1 输入 2 输出 3 说明 华为OD机试 2023B卷题库疯狂收录中 刷题点这里 专栏导读 本专栏收录于 华为OD机试 JAVA
  • JAVA--windows和linux下执行.class

    windows和linux下执行 class windows下执行 class linux下执行 class windows下执行 class title testJOb java cp jar com yang jobTest start
  • CMake命令

    1 aux source directory 查找当前目录所有源文件 并将源文件名称列表保存到DIR SRCS变量 不能查找子目录 aux source directory DIR SRCS 2 添加一个库或预编译库 添加一个库 名为
  • 企业实名认证接口

    详情链接 http www haoservice com docs 140 企业实名认证接口 通过营业执照全称 营业执照注册号 对公账户名 对公账号 清算联行号来验证信息一致不一致 支持格式 JSON XML 请求方式 GET POST 明
  • Springboot集成Redis——实现分布式锁

    目录 1 分布式锁 2 springboot集成redis 3 使用setnx命令实现分布式锁 4 使用Redission实现分布式锁 5 redission分布式锁的类型 1 分布式锁 分布式锁 即分布式系统中的锁 随着业务发展的需要 原
  • Android App的工作原理

    Android App的工作原理 Android系统是基于liunx内核的 但是与传统的基于liunx的pc系统不同 用户对Android app没有绝对的掌控权 pc系统中 在应用程序的系统菜单上选择 退出 或者 关闭 之类的选项会直接杀
  • 大型项目一定用angular吗

    不一定 虽然Angular在构建大型项目方面具有优势 但选择使用何种前端框架还需要考虑多个因素 包括项目需求 团队技能 开发周期 项目规模和性能需求等 以下是一些需要考虑的因素 项目规模和复杂性 Angular 的模块化 依赖注入和组件化架
  • bootstrap label的for属性

  • Spring Boot 统一返回前端封装VO类型结果集定义

    现在大部分项目都是前后端分离的项目 为了统一管理 后端需要对数据进行封装对应的VO数据 什么是Vo我就不叙述了 这里贴出我自己的VO封装类 项目的故障码并没有定义太多 所以也没有定义枚举类型 供大家参考 import io swagger