我有一个基于Jersey的Rest WS,它输出JSON。我正在实现一个Jersey客户端,以调用WS并使用JSON响应。我的客户端代码如下
WebResource r = restClient.resource(UriBuilder.fromUri(“ http:// localhost /”).port(8080).build()); 字符串resp = r.path(“ / user”)。accept(MediaType.APPLICATION_JSON).get(String.class); User []用户= r.path(“ / user”)。accept(MediaType.APPLICATION_JSON).get(User []。class);
第二行正确地输出了JSON字符串响应,但是没有发生将JSON封送至POJO的第三行,并且我得到了以下异常stacktrace
严重:Java类类[Lorg.shoppingsite.model.entity.jpa.User;和Java类型类[Lorg.shoppingsite.model.entity.jpa.User;和MIME媒体类型application / json的消息正文阅读器不是发现 2011年12月21日,上午11:32:01 com.sun.jersey.api.client.ClientResponse getEntity 严重:与MIME媒体类型兼容的已注册消息正文阅读器是: * / *-> com.sun.jersey.core.impl.provider.entity.FormProvider com.sun.jersey.core.impl.provider.entity.StringProvider com.sun.jersey.core.impl.provider.entity.ByteArrayProvider com.sun.jersey.core.impl.provider.entity.FileProvider com.sun.jersey.core.impl.provider.entity.InputStreamProvider com.sun.jersey.core.impl.provider.entity.DataSourceProvider com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider $ General com.sun.jersey.core.impl.provider.entity.ReaderProvider com.sun.jersey.core.impl.provider.entity.DocumentProvider com.sun.jersey.core.impl.provider.entity.SourceProvider $ StreamSourceReader com.sun.jersey.core.impl.provider.entity.SourceProvider $ SAXSourceReader com.sun.jersey.core.impl.provider.entity.SourceProvider $ DOMSourceReader com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider $ General com.sun.jersey.core.impl.provider.entity.XMLListElementProvider $ General com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider $ General com.sun.jersey.core.impl.provider.entity.EntityHolderReader
我的请求中包含正确的MIME类型。我的POJO已用XMLRootElement注释。我想念什么。
谢谢
通过添加jersey-json的maven依赖关系,我得以解决此问题。