我有一个返回JSON代码的REST服务:
@GET
@Path("/mypath")
@Produces(MediaType.APPLICATION_JSON)
public Response getS() {
Map<String, String> map = new LinkedHashMap<String, String>();
map.put(key1, val1);
map.put(key2, val2);
return Response.ok(map, MediaType.APPLICATION_JSON).build();
}
此服务部署在Tomcat服务器中。我使用RESTeasy作为框架。在尝试访问该服务时,我遇到了这样的情况:
找不到类型为: MessageBodyWriter的响应对象的java.util.LinkedHashMap,媒体类型为: application/json。
我不明白问题出在哪里。
提前感谢
发布于 2015-07-26 00:46:11
您如何部署您的应用程序?您使用的是什么应用服务器?什么版本的RestEasy?您指定了什么RestEasy配置(在web.xml或应用程序类中)?Resteasy依赖于对象的序列化/反序列化提供程序。这些提供程序需要包含在JAX-RS应用程序的类路径中。根据您的构建、应用程序打包和运行时环境,这些提供程序可能会丢失。此外,可以配置提供者的发现,例如自动发现类路径中的所有privoders,或者只使用conf中明确提到的那些。通常使用的具有application/json功能的提供者是resteasy-jackson-provider、resteasy-jettison-provider。验证类路径中是否至少有其中一个可用。
https://stackoverflow.com/questions/12142712
复制相似问题