我正在使用泽西岛2.13
当我尝试通过浏览器中的 url 访问资源时,出现 MessageBoddyWriter not found 异常。
例外:
MessageBodyWriter not found for media type=application/json,
type=class java.util.ArrayList, genericType=java.util.List<com.webservices.entity.Book>.
我有另一种方法可以生成“APPLICATION_XML”,并且似乎工作正常。
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Book {
@XmlElement
private String name;
@XmlElement
private String author;
//getters setters
}
@GET
@Path("/json")
@Produces(MediaType.APPLICATION_JSON)
public List<Book> getJsonResponse(JAXBElement<Book> book){
return new ArrayList<Book>();
}
我的想法是球衣会自动找到"JacksonJsonProvider"
,一个消息编写器类,由 Jackson 提供,但事实并非如此。
我的lib文件夹:
据麦京球衣+杰克逊 http://www.mkyong.com/webservices/jax-rs/json-example-with-jersey-jackson/教程,需要添加com.sun.jersey.api.json.POJOMappingFeatureweb.xml 中的 param 来集成它们
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.mkyong.rest</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)