gpt4 book ai didi

java - 如何使用 Jersey JSON POJO 支持?

转载 作者:IT老高 更新时间:2023-10-28 12:47:03 29 4
gpt4 key购买 nike

我有一个对象,我想在 JSON 中作为 RESTful 资源提供服务。我像这样打开了 Jersey 的 JSON POJO 支持(在 web.xml 中):

<servlet>  
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<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>

但是当我尝试访问资源时,我得到了这个异常:

SEVERE: A message body writer for Java type, class com.example.MyDto, and MIME media type, application/json, was not found
SEVERE: Mapped exception to response: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException
...

我要服务的类并不复杂,它所拥有的只是一些公共(public)的 final 字段和一个设置所有这些字段的构造函数。这些字段都是字符串、原语、类似于此的类或其列表(我尝试使用普通列表而不是通用 List s,但无济于事)。有谁知道给了什么?谢谢!

Java EE 6

Jersey 1.1.5

玻璃鱼 3.0.1

最佳答案

如果您想使用 JAXB 注释,可以使用 @XmlRootElement(请参阅其他答案)。

但是,如果您更喜欢纯 POJO 映射,则必须执行以下操作(遗憾的是它没有写在文档中):

  1. 将 jackson*.jar 添加到您的类路径(如@Vitali Bichov 所述);
  2. 在 web.xml 中,如果您使用 com.sun.jersey.config.property.packages 初始化参数,请将 org.codehaus.jackson.jaxrs 添加到名单。这将在 Jersey 的扫描列表中包括 JSON 提供程序。

关于java - 如何使用 Jersey JSON POJO 支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5161466/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com