我正在使用带有这样的控制器的 Spring MVC:
@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 类型的对象是在应用程序中创建并在服务中设置的。当控制器 /list 响应请求时,尽管 Service 类中的引用是 User,但 ExtendedUser 类型的对象会被序列化。我想知道是否有某种注释方法可以仅序列化超类型(引用类型)并避免子类型属性。
考虑到这个例子,我希望返回一个没有 location 属性的 JSON。
提前致谢