关于注解@JsonInclude简述
@JsonInclude(JsonInclude.Include.NON_NULL)标记是jackson包提供的json序列化方法,已经集成于Springboot2.0中,此方法的配置意在可以对实体json序列化的时候进行对应的数值处理。
//将该标记放在属性上,如果该属性为NULL则不参与序列化 //如果放在类上边,那对这个类的全部属性起作用 //Include.Include.ALWAYS 默认 //Include.NON_DEFAULT 属性为默认值不序列化 //Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化 //Include.NON_NULL 属性为NULL 不序列化
此注解适用于类标头,可以对实体类引用会自动按规则过滤实体类生成的json数据,也可以通过实现Serializable接口来标识此注解,用于对类的最终json结构进行过滤处理。如下:
@Data @JsonInclude(JsonInclude.Include.NON_NULL) public class Response<T> implements Serializable { //请求成功返回码为:0000 private static final String suucessCode = "0000"; //返回数据 private T data; //返回码 private String code; //返回描述 private String msg; public Response(){ this.code = suucessCode; this.msg = "请求成功"; } public Response(String code,String msg){ this(); this.code = code; this.msg = msg; this.data = data; } public Response(T data){ this(); this.data = data; } }
以及对Pojo类的引用:
@Data @JsonInclude(JsonInclude.Include.NON_NULL) public class User_table { private Integer User_Id; private String UserName; private String Password; private Integer Administrator_Id; private Integer Role_Id; }
此处的加注解之前的浏览结果为
除了注解式配置以外SpringBoot还提供了Application.yml配置方法
spring: jackson: default-property-inclusion: non_null
此时的返回值结果与上图一样
注:application.yml这个地方的配置是全局配置可能会影响到其他的某些服务接口,所以谨慎配置。
参考文章:
https://blog.csdn.net/qq_31404603/article/details/88560166
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架