有没有办法将元素列表作为参数传递给使用Jersey的方法?
我使用Sample
注释了@XmlRootElement
课程,其中包含以下变量:idUsuario
,x
和timestamp
。
在我的MedicaoResource
课程中,方法:
@GET
@Produces("text/xml")
public List<Medicao> getMedicoes() {
return new ArrayList<Medicao>(getAllMedicoes());
}
返回类似的内容:
<medicaoes>
<medicao>
<idUsuario>1</idUsuario>
<timestamp>2012-04-16T12:25:00.454-03:00</timestamp>
<x>0.71</x>
</medicao>
<medicao>
<idUsuario>1</idUsuario>
<timestamp>2012-04-16T12:25:00.454-03:00</timestamp>
<x>1.71</x>
</medicao>
</medicaoes>
现在,我想做类似的事情:
@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces("text/plain")
public String addMedicoes(ArrayList<Medicao> medicoes) {
for (Medicao medicao : medicoes) {
addMedicao(medicao);
}
return "success";
}
我如何编写上述方法的XML才能正常工作?我尝试传递方法getMedicoes
返回的相同XML,但它不起作用。
答案 0 :(得分:1)
您应该在List<Medicao>
方法中使用ArrayList
类型而不是addMedicoes
。
这可能是防止jersey / jaxb正确解组你的xml查询的原因。
此外,您应该发布除won't work
之外的更多信息,因为只有这样,我们才能猜出错误。什么不起作用?您是否有任何错误消息/日志显示。你究竟尝试了什么?