繁体   English   中英

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

[英]Could not find MessageBodyWriter for response object of type: java.util.LinkedHashMap of media type: application/json

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

我不明白有什么问题。

提前致谢

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM