我有一个用 Java 中的 Jersey 创建的 REST API。对于一个请求,我想以 JSON 格式返回一对坐标元组的列表。为此,我有一个类,它是一个ArrayList、一个Tuple2类和一个Coords类的包装器。我使用它javax.xml.bind.annotations来自动生成我的类的 XML/JSON。
但由于我不明白我的Coords类不能映射到 XML 的原因。
我尝试过不同类型的属性(Integers而不是int),在@XmlAttribute不同的位置(在属性之前和吸气剂之前)和不同的属性XmlAccessType(PROPERTY而不是NONE),但结果是相同的。
这是我的坐标类:
package model;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlAttribute;
import static javax.xml.bind.annotation.XmlAccessType.NONE;
@XmlRootElement
@XmlAccessorType(NONE)
public class Coords {
@XmlAttribute private int x;
@XmlAttribute private int y;
public Coords(final int x, final int y) {
this.x = x;
this.y = y;
}
public Coords() {
this.x = 0;
this.y = 0;
}
public int getX() {
return this.x;
}
public int getY() {
return this.y;
}
}
这是它在我的 Tuple2 中的呈现方式
package model;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlAttribute;
import static javax.xml.bind.annotation.XmlAccessType.NONE;
@XmlRootElement
@XmlAccessorType(NONE)
public class Tuple2 {
private Coords c1;
private Coords c2;
// ...
@XmlAttribute
public Coords getFirst() {
return this.c1;
}
@XmlAttribute
public Coords getSecond() {
return this.c2;
}
// ...
}
慕容708150
相关分类