【发布时间】:2016-07-29 06:36:49
【问题描述】:
我正在使用 maven 学习 JERSEY REST API。当我点击 GET 请求时,我收到以下错误。有趣的一点是,当我只返回特定的类对象时,我得到了想要的结果,但是当我返回所有这些对象的映射时,我得到了这个错误,状态为 500 - 内部服务器错误。请提出建议。
错误:
SEVERE: MessageBodyWriter not found for media type=application/json,
type=class java.util.HashMap, genericType=java.util.Map<java.lang.Integer, message.Message>.
容易出错:
@GET
@Produces(MediaType.APPLICATION_JSON)
public Map<Integer,Message> getAll(){
ms.sample();
return ms.getAllMessages();
}
相同的代码,但返回特定的对象,工作正常:
@GET
@Produces(MediaType.APPLICATION_JSON)
public Message getAll(){
ms.sample();
return ms.getAllMessages().get(1);
}
P.S : 我在 pom.xml 文件中添加了 json 相关元素,如下所示
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
</dependency>
我正在使用 Maven v2.16
【问题讨论】:
-
你有杰克逊依赖吗?