【发布时间】:2018-02-05 16:00:56
【问题描述】:
我将 Jackson JSON 作为我的 REST API 的序列化程序。对于 Order 实体,我有 getAll 和 getById 方法。对于 getById API,返回具有所有属性的整个 Order 对象,但对于 getAll 方法,我希望只返回 OrderForList 接口中定义的一些属性(Order 实现 OrderForList)。
@RequestMapping(method = RequestMethod.GET)
public Set<OrderForList> getAll() {
Set<OrderForList> orders = orderService.get(); //get() returns Set<Order>
return orders;
}
我该怎么做?
我已经尝试用
注释方法@JsonSerialize(typing = JsonSerialize.Typing.STATIC, contentAs = OrderForList.class)
没有任何影响。我可以编写自定义序列化器/映射器,但我正在寻找更好的解决方案。我在属性对象上使用这个解决方案(例如订单的供应商,我只返回供应商的 ID 和名称)并且它有效,我在这里做错了什么?
提前感谢您的任何想法。
【问题讨论】:
标签: java json serialization jackson