我正在使用 REST 服务,我想通过 POST 请求传递 XML 文本。我的服务器是用 JAVA 实现的。假设我正在发送这个 XML:
<range>
<higher value="3"></higher>
<lower value="2"></lower>
</range>
据我了解(如果我错了,请纠正我),将请求中的 XML 转换为 java 对象的最简单方法是定义一个具有适当注释的类。例如:
@XmlRootElement(name = "range")
public class RangeClass {
@XmlElement (name = "lower")
private int lower;
@XmlElement (name = "higher")
private int higher;
.
.
???
}
然后像这样阅读它:
@POST
@PATH(<somePath>)
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.TEXT_PLAIN)
public String myFun(RangeClass range) {
.
.
.
}
我缺少的东西(如果其他部分是正确的)是如何定义我在元素中具有属性。如果我放一个“@XmlAttribute”注释,这将引用根元素的属性(“范围”),而不是特定元素的属性(“较低”或“较高”)。