【发布时间】:2021-04-23 04:43:51
【问题描述】:
有一个由多个 API 使用的模型类,如果此模型类中的字段为 null,则它在 JSON 响应中返回为 null。但是,另一个 API 正在使用相同的模型类,此处应在响应中省略空字段。
有没有办法在不创建模型文件的另一个副本的情况下实现这一点,只需使用@JsonInclude(Include.NON_NULL) 引入空字段
例子,
class A {
private String b;
private String c;
private String d;
// getters and setters
}
需要响应 1
"A": {
"b": "val1",
"c": null,
"d": "val2"
}
需要响应 2(省略空值)
"A": {
"b": "val1",
"d": "val2"
}
有没有办法使用单个模型类来实现这些行为?实例化时的某种配置?
【问题讨论】:
-
那么我猜你将不得不这样做:stackoverflow.com/a/35672470/14072498
-
这看起来比创建这个类的副本和注释更多的代码:)
-
是的,我知道,它不漂亮。是一个在讨论使用反射修改 DTO 的线程最后的人。试图找到更具体的东西。
标签: java json spring spring-boot