首页 文章

无法为类型的响应对象找到MessageBodyWriter:媒体类型的java.util.LinkedHashMap:application / json

提问于
浏览
4

我有这个返回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 .

我不明白是什么问题 .

提前致谢

1 回答

  • 0

    你如何部署你的应用程序?你使用什么应用服务器?什么版本的RestEasy?你指定了什么RestEasy配置(在web.xml或Application类中)? Resteasy依赖于提供程序来对象进行序列化/反序列化 . 这些提供程序需要包含在JAX-RS应用程序的类路径中 . 根据您的构建,应用程序打包和运行时环境,这些提供程序可能会丢失 . 此外,可以配置提供者的发现,例如,自动发现类路径中的所有privoders,或仅使用conf中明确提到的那些 . 具有application / json功能的常用提供商是resteasy-jackson-provider,resteasy-jettison-provider . 验证类路径中是否至少有其中一个可用 .

相关问题