gpt4 book ai didi

java - 不要在 Spring MVC 3 中使用 Jackson 序列化子类型属性

转载 作者:行者123 更新时间:2023-12-01 04:14:59 25 4
gpt4 key购买 nike

我使用 Spring MVC 和这样的 Controller :

@RequestMapping(value = "/list", method = RequestMethod.GET, produces = "application/json")
public @ResponseBody List<Service> list() {
return services.list();
}

模型是这样的:

public class Service {
private User user;
...
}

public class User {
private String name;
...
}

public class ExtendedUser extends User {
private Location location;
...
}

当然,在应用程序中创建了一个 ExtendedUser 类型的对象,并在 Service 中设置。当 Controller /list 应答请求时,尽管 Service 类中的引用是 User,但仍会序列化 ExtendedUser 类型的对象。我想知道是否有某种方法可以使用注释来仅序列化父类(super class)型(引用的类型)并避免子类型属性。

考虑到该示例,我想要返回一个不带位置属性的 JSON。

提前致谢

最佳答案

在 ExtendedUser 上尝试 @JsonInclude(Ininclude.NON_NULL)

关于java - 不要在 Spring MVC 3 中使用 Jackson 序列化子类型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19519085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com