Jersey REST服务HashMap <string,arraylist <string =“”>&gt;返回</串,>

时间:2012-07-23 07:27:49

标签: jersey

我想返回HashMap类型的对象&gt;在使用XML或JSON的GET方法中。在客户端,我获得了map的键,但值为null。

这是返回类:

private HashMap<String, ArrayList<String>> hashMap = new HashMap<>();

public HashMap<String, ArrayList<String>> getHashMap() {
    return hashMap;
}

public void setHashMap(HashMap<String, ArrayList<String>> hashMap) {
    this.hashMap = hashMap;
}

这是服务中的GET方法:

@GET
@Path("/mapa")
@Produces(MediaType.APPLICATION_XML)
public Test mapa() {

    Test test = new Test();

    HashMap<String, ArrayList<String>> hashMap = new HashMap<>();

    ArrayList<String> list = new ArrayList<>();
    list.add("first");
    list.add("second");

    hashMap.put("first", list);
    test.setHashMap(hashMap);

    return test;
}

我在浏览器中看到了这个:

<test>
  <hashMap>
    <entry>
      <key>first</key>
      <value/>
    </entry>
  </hashMap>
</test>

为什么价值空?

1 个答案:

答案 0 :(得分:0)

您是否尝试使用Response而不是Test Class?

@GET
@Path("/mapa")
@Produces(MediaType.APPLICATION_XML)
public Response mapa() {

    Test test = new Test();

    HashMap<String, ArrayList<String>> hashMap = new HashMap<>();

    ArrayList<String> list = new ArrayList<>();
    list.add("first");
    list.add("second");

    hashMap.put("first", list);
    test.setHashMap(hashMap);

    return Response.status(200).entity(test).build();
}