如何使用ApacheJersey在REST句柄的POST中捕获hashmap

如何使用ApacheJersey在REST句柄的POST中捕获hashmap,rest,post,jersey,Rest,Post,Jersey,我希望在我的POST处理程序中捕获这种格式的XML(HashMap) <entries> <entry> <id>1</id> <labels> <label>label1</label> <label>label2</label> ... </labels> <entry> ... <e

我希望在我的POST处理程序中捕获这种格式的XML(HashMap)

<entries>
  <entry>
    <id>1</id>
    <labels>
      <label>label1</label>
      <label>label2</label>
      ...
    </labels>
  <entry>
  ...
<entries>

1.
标签1
标签2
...
...
我希望我使用ApacheJersey的帖子处理程序看起来像这样

@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public void createEntries(@MagicAnnotation HashMap<id, List<label>> entryMap){
    }
@POST
@使用(MediaType.APPLICATION\u FORM\u URLENCODED)
public void createEntries(@MagicAnnotation HashMap entryMap){
}
我最接近这个目标的是什么

我愿意看到一种更好的XML哈希映射表示法。我只是不想手动解析xml,也不想捕获等价的JSON。
我不确定是否可以使用一些JAXBElement来代替jersey注释。

您不应该以这种方式访问文章正文。 您必须定义几个类才能让Jersey解析XML响应

您的代码如下所示:

@POST
public Response post(Entries entries) {
  Storage.put(entries);
  return Response.ok().build();
}
要使此工作条目与JAXB兼容,请执行以下操作:

@XmlRootElement
public class Entries {
  @XmlElement List<Entry> entries;
}

@XmlType
public class Entry {
  @XmlAttribute String id;
  @XmlElement Labels labels;
}

@XmlType
public class Labels {
  @XmlElement List<String> label;
}
@XmlRootElement
公开课参赛作品{
@元素列表项;
}
@XmlType
公开课入学{
@xml属性字符串id;
@元素标签;
}
@XmlType
公共类标签{
@元素列表标签;
}
啊,泽西不是阿帕奇的,而是太阳的