java - 如何在 Spring Boot 中从控制器覆盖 @JsonInclude
问题描述
我有一个 POJO 类,其中包含该类的注释@JsonInclude(Include.NON_NULL)
。
@JsonInclude(Include.NON_NULL)
@Getter
@Setter
public class Attribute implements Serializable {
private String type;
private List<Object> value;
private String unit;
private List<Object> metaInfo;
}
控制器看起来像这样。
@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE)
public Attribute getSingle() {
return getAttribute(); // getAttribute() will get the object of type Attribute.
}
现在,我有一个要求,根据 type 字段的值,需要在最终生成的 JSON 中为 value 字段返回 null。
例如,如果 type='XYZ' 则响应为{ type:'XYZ'}
. 如果 type='ABC',那么响应应该是{ type:'ABC',value:null}
如何在 Spring Boot 中实现这一点?处理这种情况的最佳方法是什么?
解决方案
这有帮助吗?
if (value.getClass() == Integer) {
return null;
}
推荐阅读
- powershell - 用于删除 AD 用户和配置文件的 Powershell 脚本
- javascript - Zendesk Live chat 与 React Web 应用程序集成
- javascript - 如何使用 d3 在 bar 中呈现重复的图像?
- javascript - React Redux 无法在该字段中键入值时更新输入字段
- python - 获得第一个输入后如何让我的代码循环到输入?
- amazon-msk - 配置与 MSK 集群通信的 SQL CDC 实例时出错
- javascript - 使用 HTTP (NodeJS) 执行带有正文参数的函数
- c - 如何在继续程序之前先检查输入?还是不应该?为什么?
- javascript - Array.map 中的 React 功能组件在将函数作为道具传递时总是重新渲染
- selenium - youtube selenium 评论抓取