Java 如何在Jersey中将元素列表作为参数传递?
有没有办法将元素列表作为参数传递给使用Jersey的方法 我用带有以下变量的Java 如何在Jersey中将元素列表作为参数传递?,java,jersey,Java,Jersey,有没有办法将元素列表作为参数传递给使用Jersey的方法 我用带有以下变量的@XmlRootElement注释类Sample:idUsuario、x和时间戳 在myMedicareSource类中,方法: @GET @Produces("text/xml") public List<Medicao> getMedicoes() { return new ArrayList<Medicao>(getAllMedicoes()); } @GET @生成(“文本/xm
@XmlRootElement
注释类Sample
:idUsuario
、x
和时间戳
在myMedicareSource
类中,方法:
@GET
@Produces("text/xml")
public List<Medicao> getMedicoes() {
return new ArrayList<Medicao>(getAllMedicoes());
}
@GET
@生成(“文本/xml”)
公共列表getMedicoes(){
返回新的ArrayList(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>
1.
2012-04-16T12:25:00.454-03:00
0.71
1.
2012-04-16T12:25:00.454-03:00
1.71
现在,我想这样做:
@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces("text/plain")
public String addMedicoes(ArrayList<Medicao> medicoes) {
for (Medicao medicao : medicoes) {
addMedicao(medicao);
}
return "success";
}
@POST
@使用(MediaType.APPLICATION_XML)
@生成(“文本/纯文本”)
公共字符串addMedicoes(ArrayList medicoes){
用于(医疗:医务人员){
addMedicao(medicao);
}
返回“成功”;
}
要使上述方法正常工作,我必须如何编写XML?我已尝试传递方法
getMedicoes
返回的相同XML,但它不起作用。您应该在addMedicoes
方法中使用typeList
而不是ArrayList
。
这可能是jersey/jaxb无法正确解组xml查询的原因
除此之外,你应该发布更多的信息,除了
不起作用的,因为只有这样,我们才能猜出哪里出了问题。什么不起作用?您是否有任何错误消息/日志要显示。您到底尝试了什么?您应该在addMedicoes
方法中使用typeList
而不是ArrayList
。
这可能是jersey/jaxb无法正确解组xml查询的原因
除此之外,你应该发布更多的信息,除了不起作用的,因为只有这样,我们才能猜出哪里出了问题。什么不起作用?您是否有任何错误消息/日志要显示。您到底尝试了什么?经过一个漫长的下午的尝试,我意识到我有两种使用XML的方法。所以这可能就是它不起作用的原因。当XML到达时,调用了错误的方法。当我删除了一个我不需要的方法时,它工作得很好。你说得对,我不得不使用List
。经过一个漫长的下午的尝试,我意识到我有两种使用XML的方法。所以这可能就是它不起作用的原因。当XML到达时,调用了错误的方法。当我删除了一个我不需要的方法时,它工作得很好。你说得对,我不得不使用列表
。