有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我可以用Jersey(和MOXy)发送对象数组吗?

我想向服务器发送一个Match数组。这是一场比赛。爪哇:

@XmlRootElement
public class Match {
public enum State {
    Updated, Synced
};

@XmlElement
public int matchId;

@XmlElement
public int timeFrom;

@XmlElement
public int timeTo;

@XmlElement
public MatchConfig config; // can be null

public State state;

public Match() {
}
}

然而,当我发送一个数组时,它告诉我:

警告:/api/match JAVAClassCastException:测试。休息Match不能强制转换为javax。xml。毕 钕。贾克斯贝伦

为什么会这样

我的Servlet方法如下所示

@POST
@Path(MATCH_PATH)
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Match[] syncMatches(Match[] matches) {
    System.out.println("received matches!");
    return new Match[]{new Match()};
}

顺便说一句,将一个数组从服务器返回到客户端是可行的,同时将一个匹配对象发送到服务器也是可行的。 典型的服务器json输出是:[{"matchId":12,"timeFrom":23,"timeTo":0}]。 我的客户发送的是这样的:[{"matchId":-1,"timeTo":-1,"timeFrom":265}]


共 (0) 个答案