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.
类似的代码,我充满了所有三个条件:
- 资源的方法,它应该返回封装JSON,需要与@JSONP的注解。
- MessageBodyWriter for application/json media type,也接受资源方法的返回类型,需要注册 (参见本章的JSON部分)。 (by annotation @Produces)
- 用户的请求必须包含接受头,其中包含一个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;
}
}