【发布时间】:2014-07-27 13:17:38
【问题描述】:
我目前在 Glassfish 4 中使用 Jersey 和 Moxy。如果 JSON 内容无效(即它包含的对象比将 JSON 绑定到POJO)?
【问题讨论】:
标签: jax-rs moxy jersey-2.0
我目前在 Glassfish 4 中使用 Jersey 和 Moxy。如果 JSON 内容无效(即它包含的对象比将 JSON 绑定到POJO)?
【问题讨论】:
标签: jax-rs moxy jersey-2.0
我将创建自己的MOXyJsonProvider 子类(请参阅:http://blog.bdoughan.com/2012/05/moxy-as-your-jax-rs-json-provider.html)。然后在那个子类中我会覆盖preReadFrom 方法。在那种方法中,我会设置一个Unmarshaller.Listener。
@Override
protected void preReadFrom(Class<Object> type, Type genericType,
Annotation[] annotations, MediaType mediaType,
MultivaluedMap<String, String> httpHeaders,
Unmarshaller unmarshaller) throws JAXBException {
Unmarshaller.Listener ul = new YourUnmarshallerListener();
unmarshaller.setListener(ul);
}
然后Unmarshaller.Listener 将在每次解组对象时计数,如果读取的对象过多,则会出错。
【讨论】:
@Provider 注释,这段代码会自动注入到 Glassfish 上,对吧?