使用@JsonInclude来实现字段为Null不传递,不为null才传递

2023-10-27

屁话不多说,直接上需求


{
  "code": 0,
  "msg": "成功",
  "data": [
    {
      "orderId": "161873371171128075",
      "buyerName": "张三",
      "buyerPhone": "18868877111",
      "buyerAddress": "总部",
      "buyerOpenid": "18eu2jwk2kse3r42e2e",
      "orderAmount": 0,
      "orderStatus": 0,
      "payStatus": 0,
      "createTime": 1490171219,
      "updateTime": 1490171219,
      "orderDetailList": null
    },
    {
      "orderId": "161873371171128076",
      "buyerName": "张三",
      "buyerPhone": "18868877111",
      "buyerAddress": "总部",
      "buyerOpenid": "18eu2jwk2kse3r42e2e",
      "orderAmount": 0,
      "orderStatus": 0,
      "payStatus": 0,
      "createTime": 1490171219,
      "updateTime": 1490171219,
      "orderDetailList": null
    }]
}


这是我在后台获取的数据,大家可以看到,有个字段orderDetailList一直都是null,在我的项目中,orderDetailList这个字段为空时前端是不需要的,不为空时才传递,因此有以下解决方法:



只需要使用@JsonInclude(JsonInclude.Include.NON_NULL),这里面还有NON_EMPTY、NON_DEFAULT等等,有兴趣的同学可以自己去看源码!!!


{
  "code": 0,
  "msg": "成功",
  "data": [
    {
      "orderId": "161873371171128075",
      "buyerName": "张三",
      "buyerPhone": "18868877111",
      "buyerAddress": "总部",
      "buyerOpenid": "18eu2jwk2kse3r42e2e",
      "orderAmount": 0,
      "orderStatus": 0,
      "payStatus": 0,
      "createTime": 1490171219,
      "updateTime": 1490171219,
    },
    {
      "orderId": "161873371171128076",
      "buyerName": "张三",
      "buyerPhone": "18868877111",
      "buyerAddress": "总部",
      "buyerOpenid": "18eu2jwk2kse3r42e2e",
      "orderAmount": 0,
      "orderStatus": 0,
      "payStatus": 0,
      "createTime": 1490171219,
      "updateTime": 1490171219,
    }]
}
这是结果如上!!!!


这里是配置单个JavaBean的操作,那么思考一下,当我们有很多个JavaBean,都要实现字段为空不传递,不为空才传递,这时我们要怎么办?难道要在每个JavaBean中都这样配置吗?显然不是的,请看下面:


jackson:
  default-property-inclusion: non_null


只需在application.yml中加上这个全局配置,就能轻松搞定

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

使用@JsonInclude来实现字段为Null不传递,不为null才传递 的相关文章

  • Shell 从入门到精通系列 (第一章 Shell编程基础)

    1 什么是变量 从本质上讲 变量就是在程序中保存用户数据的一块内存空间 变量名就是这块内存空间的地址 在程序执行过程当中 保存数据的内存空间内容可能会不断发生变化 但是代表内存地址的变量名却保持不变 由于变量的值时在计算机的内存中 所以当计
  • C#基本数据类型

    C 数据类型分为值类型和引用类型 值类型 常用的有4种 包括整型 浮点型 布尔型 枚举型等 引用类型 常用的有5种 包括类 接口 数组 委托 字符串等 如果从内存存储空间的角度看 值类型的 值是存放到栈中的 每次存取值都会在该内存中操作 而
  • SQLyog的免费使用方式

    1 删除注册表 会继续使用30天 输入 regedit 进入注册表 找到注册表 HEYK CURRENT USER Software FCE28CE8 D8CE 4637 9BC7 93E4C0D407FA 下的InD保存着SQLyog的使
  • Windows10下超详细Mysql安装

    目录 0 前言 1 下载mysql 2 开始安装 3 验证安装 4 环境变量配置 0 前言 Mysql简介 MySQL是一种开源的关系型数据库管理系统 RDBMS 它使用SQL 结构化查询语言 语言进行数据的存储和访问 MySQL的设计目标
  • U盘启动重装系统报cdboot:couldn't find ntldr 错误

    进BIOS把硬盘格式从IDE改为AHCI二 硬盘主MBR引导损坏 要用PE启动盘进行修复引导 解决方法 在PE打开分区工具Disk Genius点硬盘点重建主引导记录MBR

随机推荐

  • 微信小程序之30分钟学会开发小程序(小程序总览)

    一 注册小程序账号 下载IDE 1 官网注册https mp weixin qq com 并下载IDE 2 官方文档一向都是最好的学习资料 注意 1 注册账号之后会有一个appid 新建项目的时候需要填上 不然很多功能是用不了的 比如不能预
  • 两个真实线上升级故障让你彻底搞懂package.json中的脱字符(^)

    大厂技术 高级前端 Node进阶 点击上方 程序员成长指北 关注公众号 回复1 加入高级Node交流群 作者 掘金干货君 原文 https juejin cn post 7121520457760653349 package json 相信
  • object标签上悬浮div标签,可拖拽,播放rtsp视频

    object上方悬浮div并实现拖拽 云台控制等操作 注意 1 在static目录下创建video html 2 必须安装2 2 1 win32版本的vlc插件 3 vlc安装文件 链接 https pan baidu com s 1yQJ
  • 日志聚合工具loki

    目录 1 loki是什么 2 loki特点 3 loki组成 4 loki安装 4 1 添加helm的chart库 4 2 安装loki及promtail 4 3 安装grafana 5 配置和使用 6 日志选择和过滤 6 1 日志选择器
  • ROS Melodic 安装时所遇到的问题及解决方法

    文章目录 参考教程 所遇到的问题 1 sudo rosdep init 2 ERROR default sources list file already exists etc ros rosdep sources list d 20 de
  • 接口入参格式为x-www-form-urlencoded 的处理

    一般情况下接口入参数格式要求是JSON通用格式 但有些时候接口入参数要求是x www form urlencoded格式 这种格式前端就不能传递JSON格式数据了 如果传递JSON数据的话 接口会报异常 下面对此种情况做解释处理 1 接口入
  • Elasticsearch 配置内存量

    场景 由于配置es之后服务器内存负载过高 原因 初步原因是es内存暂用过高 处理 修改es的配置文件jvm options 根据服务器情况一般是配置服务器内存的一半
  • 手残,双硬盘(SSD+HDD)双系统(Win10+ubuntu)用easyBCD删除win10引导项怎么办?戳这里

    问题描述 博主处女座 电脑双硬盘 固态 机械 因为学习需要 装了双系统 Win10 Ubuntu 这个也是费了不少功夫才成功 不知道怎么装的可以看我这个http blog csdn net x1825048925 article detai
  • 怎样的架构设计才是真正的数据仓库架构

    在各个网站和论坛 一说到数据仓库 基本都想到了 ETL DW OLAP 一说到数据仓库设计 就是按照行业规范和客户需求调研 设计主题 然后设计对应的 事实表 维表 但是 这就是真正的数据仓库总体设计么 关于上面说的主题设计 以及前端展现 这
  • cfssljson详解1

    一 cfssljson简介 大多数cfssl命令的输出内容都是JSON格式的 而cfssljson工具可以将这些JSON格式的输出内容作为输入内容 并按照key键 key certificate CSR and bundle 将之区分然后输
  • 机器学习-决策树算法ID3实现,含例子(红酒分类)

    决策树原理实现代码如下所示 参考自机器学习实践 Peter Harrington import math x 0 1 no 0 1 no 1 0 no 1 1 yes 1 1 no 1 1 no 1 1 maybe 1 1 maybe 1
  • 手把手教你搭建SpringCloudAlibaba项目

    SpringCloud Alibaba全集文章目录 零 手把手教你搭建SpringCloudAlibaba项目 一 手把手教你搭建SpringCloud Alibaba之生产者与消费者 二 手把手教你搭建SpringCloudAlibaba
  • 数据结构——AOE与算法——关键路径的计算

    AOE图 节点表示事件 弧表示活动 弧的权重表示活动进行的时间 关键路径 在AOE网中 从起始点到终点具有最大路径长度的一条路径被称为关键路径 算法思路 1 利用拓扑排序求出AOE网的一个拓扑序列 2 从拓扑排序的序列的第一个顶点 源点 开
  • 设计模式的 C++ 实现---策略模式

    前文回顾 单例模式 一 单例模式 二 观察者模式 简单工厂模式 工厂方法模式 一 工厂方法模式 二 抽象工厂模式 一 抽象工厂模式 二 原型模式 外观模式 中介者模式 代理模式 装饰者模式 前言 所谓策略即解决一件事情的算法 或者方法 是一
  • intel至强服务器芯片制程,64核自研芯片性能提升7倍,追平英特尔至强

    不久之前 英特尔发布了至强铂金8284处理器 单个内核拥有高达28核心56线程 刷新了业界顶尖水平 事实上 在服务器级处理器中 英特尔的产品一向具有重要的地位 它的服务器芯片不仅技术先进 而且耐用程度优质 能耗控制良好 可以说是服务器必备产
  • AJAX请求返回流 下载Excel文件

    AJAX请求返回流 下载Excel文件 模拟请求 var xhr new XMLHttpRequest 文件名称 var fileName 1 xls xhr open POST http 127 0 0 1 8001 Api Downlo
  • 并发编程篇

    并发编程篇 线程基础 线程和进程的区别 面试官 说一下线程和进程的区别 候选人 嗯 好 进程是正在运行程序的实例 进程中包含了线程 每个线程执行不同的任务 不同的进程使用不同的内存空间 在当前进程下的所有线程可以共享内存空间 线程更轻量 线
  • docker部署常用服务器(redis,nginx,mysql,tomcat)

    docker部署服务器 docker部署redis docker部署nginx docker部署mysql docker部署tomcat docker部署redis 参考这篇博客 写的很详细 docker部署nginx 1 搜索镜像 doc
  • opencv imread()默认加载三通道图像

    今天用python opencv 函数 cv2 imread加载图像 图像是单通道的但是加载完之后就变成三通到了 处理了半天的bug才发现是这里出现了问题 介绍一下imread函数 c 函数模型 include
  • 使用@JsonInclude来实现字段为Null不传递,不为null才传递

    屁话不多说 直接上需求 code 0 msg 成功 data orderId 161873371171128075 buyerName 张三 buyerPhone 18868877111 buyerAddress 总部 buyerOpeni