1 回答
TA贡献1780条经验 获得超4个赞
我认为您正在寻找的是以下概念JsonView:在某些情况下,您希望序列化一组属性,而在其他一些情况下,您希望序列化一组(稍微)不同的属性。
检查这个优秀的教程,它解释了一切,甚至是 Spring MVC 的使用。
创建类来注释字段:
public class Views {
public static class Public {
}
public static class Internal extends Public {
}
}
注释字段:
public class Item {
@JsonView(Views.Public.class)
public int id;
@JsonView(Views.Public.class)
public int drawnum;
@JsonView(Views.Internal.class)
public String address;
}
在控制器中,如果您只想序列化“公共”属性;
@JsonView(Views.Public.class)
@RequestMapping("/items/{id}")
public Item publicItem(@PathVariable int id) {
结果 : {"id":2,"drawnum":5}
在另一个控制器中,如果您希望所有属性都被序列化;
@JsonView(Views.Internal.class)
@RequestMapping("/items/{id}")
public Item internalItem(@PathVariable int id) {
结果 : {"id":2,"drawnum":5,"address":"My address"}
添加回答
举报