【发布时间】:2015-04-19 10:09:06
【问题描述】:
由于杰克逊对第三方对象的序列化,我的网络服务控制器出现问题。
java.lang.IllegalArgumentException:冲突的 setter 定义 属性“X”:ThirdPartyClass#setX(1 参数) vs ThirdPartyClass#setX(1 参数)
我听说你可以通过 MixIn 注释来解决它。
在我的控制器中,我给出了一个列表,我想知道是否有一种方法可以在某处自动定义 MixInAnnotation 的使用?
如果我必须返回一个字符串而不是对象,我会这样做:
ObjectMapper mapper = new ObjectMapper();
mapper.getSerializationConfig().addMixInAnnotations(xxx);
return mapper.writeValueAsString(myObject);
不过,我的控制器给了 List:
@RequestMapping(method = RequestMethod.GET)
public @ResponseBody List<MyObject> getMyObjects
在其他方法中多次返回 MyObject,所以我只想声明一次使用 MixInAnnotation 进行杰克逊序列化?
谢谢你, 杆
【问题讨论】: