我希望在我的POST处理程序
中捕获此格式的XML(HashMap)<entries>
<entry>
<id>1</id>
<labels>
<label>label1</label>
<label>label2</label>
...
</labels>
<entry>
...
<entries>
我希望使用Apache Jersey的POST处理程序看起来像这样
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public void createEntries(@MagicAnnotation HashMap<id, List<label>> entryMap){
}
我最接近的是什么?
我愿意更好地表示HashMap to XML。我不想手动解析xml并且想要捕获等效的JSON。 我不确定是否可以使用某些JAXBElement而不是jersey注释。
答案 0 :(得分:0)
你不应该以这种方式访问POST主体。 您必须定义几个类以让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;
}
啊,泽西不是来自Apache,而是来自Sun。