【发布时间】:2015-02-23 17:16:08
【问题描述】:
我想创建一个 Jersey 提供程序 (MessageBodyWriter) 来更新 dto 对象属性并继续链接到 Jersey-json 默认提供程序并返回 json 对象。 问题是看起来默认提供者没有被调用,所以我注册新提供者后,我的休息服务的输出就变成了空的。
@Provider
public class TestProvider implements MessageBodyWriter<MyDTO>
{
@Override
public long getSize(
MyDTO arg0, Class<?> arg1, Type arg2, Annotation[] arg3, MediaType arg4)
{
return 0;
}
@Override
public boolean isWriteable(Class<?> clazz, Type type, Annotation[] arg2, MediaType arg3)
{
return type == MyDTO.class;
}
@Override
public void writeTo(
MyDTO dto,
Class<?> paramClass,
Type paramType, Annotation[] paramArrayOfAnnotation,
MediaType mt,
MultivaluedMap<String, Object> paramMultivaluedMap,
OutputStream entityStream) //NOPMD
throws IOException, WebApplicationException
{
dto.setDescription("text Description");
// CONTINUE THE DEFAULT SERIALIZATION PROCESS
}
}
【问题讨论】:
标签: java rest jersey jax-rs jersey-2.0