【发布时间】:2011-05-24 14:16:32
【问题描述】:
我正在尝试将球衣与我自己的 json MessageBodyReader/MessageBodyWriter 一起使用(因为我没有在我的域类上使用 @XmlRootElement... 注释)。
@Provider
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public final class MyGsonMessageBodyHandler implements MessageBodyWriter<Object>, MessageBodyReader<Object> {
...
}
Jersey 使用这个类作为 messagebodywriter(因为它在实现的方法 writeTo 中的断点处停止)。但是,它没有将此类视为 messagebodyreader(即使我将此类分解为 messagebodyreader/messagebodywriter 的单独实现,它仍然拒绝使用我的 messagebodyreader)。
测试代码如下(jersey-grizzly):
final Greeting greeting = resource.path("/greeting")
.queryParam("name", name)
.accept(MediaType.APPLICATION_JSON)
.type(MediaType.APPLICATION_JSON)
.get(Greeting.class);
我得到的错误如下:
A message body reader for Java class test.Greeting, and Java type class test.Greeting, and MIME media type application/json was not found
我想知道编写自己的 MessageBodyReader 需要什么样的魔法?
【问题讨论】: