【发布时间】:2020-06-11 15:18:44
【问题描述】:
使用 Spring Boot Web 开发 REST Api,我想使用 Jackson 返回一个具有动态属性的类到 RepsonseEntity 。当返回一个带有 Persons 的数组列表时,结果需要看起来像
{
"pages" : 1,
"pageSize" : 20,
"persons" : []
}
当返回一个包含动物的列表时,它需要看起来像
{
"pages" : 1,
"pageSize" : 20,
"animals" : []
}
我现在有一堂课
public class APIResponse {
private int pages;
private int pageSize;
private List<T> list;
...
}
@JsonProperty 不会剪切,因为它不是动态的。 @JsonSerialize(using = CustomSerializer.class) 也不会削减它,因为它只允许我用其他标签“包装”该值。我在这里没有选择,所以寻求帮助。我最后的手段是返回一个可以解决问题的 HashMap,但我根本不喜欢它的外观。有谁知道这是否可以使用杰克逊来完成。其他框架不是一个选项:-(。
【问题讨论】:
-
嗨,胡安,正如我在问题中提到的那样:HashMap 可以解决问题,但我更希望看到一个自定义的 Object/ 类。答案可能是它不可能是我想要的。但也许它可以很容易地完成。