这与这里的问题略有不同。 我没有使用Maven,但在类路径中包含了jersey-bundle-1.17.1。 它似乎包含了jersey-json中的所有类。 但是我也将jersey-json添加到classpath和WEB-INF / lib中,并得到相同的错误。 我正在发布json

{ to: 'John', company: 'Costo' }

有什么明显的吗?

收件人是具有两个字符串字段的简单POJO-to和company

@POST
@Path("/saveit")
@Consumes(MediaType.APPLICATION_JSON )
@Produces( MediaType.APPLICATION_JSON )
public Response saveit(Recipient rec) {
         System.out.println(rec); 
         ....
}

但是我仍然得到错误:

Apr 20, 2014 8:17:23 PM com.sun.jersey.spi.container.ContainerRequest getEntity    
SEVERE: A message body reader for Java class com.company.guestbook.model.Recipient, and Java type class com.company.guestbook.model.Recipient, and MIME media type application/json was not found.
    The registered message body readers compatible with the MIME media type are:
    application/json ->
      com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$App
      com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$App
      com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$App
    */* ->
      com.sun.jersey.core.impl.provider.entity.FormProvider
      ...

===============>>#1 票数:0

这应该在编译时失败,因为您的方法实现没有返回对象(即,它是一个void返回),但是方法签名指示已返回一个Response对象。 您的实现只是将Recipient对象打印到标准输出(可能会出现在容器的日志文件中)。

我看到您没有使用Maven管理依赖项(很好),但是您是否添加了Jersey必需的依赖项? 例如,此错误报告看起来与您的错误报告相似。

  ask by Fakeer translate from so

未解决问题?本站智能推荐: