我有Jackson JSON作为我的REST API的序列化程序。对于订单实体,我有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 和名称(并且它可以工作,我在这里做错了什么?
提前感谢您的任何想法。
你检查过视图注释吗?它可能会对你有所帮助