2014-04-20 205 views
1

我试图从对象获取JSON,但我发现了异常:JSONP与新泽西

org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyWriter not found for media type=application/json, type=class Controllers.MyJax, genericType=class Controllers.MyJax. 

我不知道为什么它不工作。 我的代码是从official documentatin.

类似的代码,我充满了所有三个条件:

  1. 资源的方法,它应该返回封装JSON,需要与@JSONP的注解。
  2. MessageBodyWriter for application/json media type,也接受资源方法的返回类型,需要注册 (参见本章的JSON部分)。 (by annotation @Produces)
  3. 用户的请求必须包含接受头,其中包含一个JavaScript媒体类型(见下文)。

我已经试过这样:

@Produces("application/json") 

@Produces(MediaType.APPLICATION_JSON) 

我的代码:

@GET 
@Path("new") 
@JSONP 
@Produces("application/json") 
public MyJax ewUser() { 

    return new MyJax("jsonp"); 

} 

和:

package Controllers; 

import javax.xml.bind.annotation.XmlRootElement; 

@XmlRootElement 
public class MyJax { 

    private String value; 

    public MyJax() {} 

    public MyJax(final String value) { 
     this.value = value; 
    } 

    public String getValue() { 
     return value; 
    } 

    public void setValue(final String value) { 
     this.value = value; 
    } 
} 

回答