簡體   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