xmlを以下のクラスを持つスプリングレストコントローラに投稿しようとしています。 XMLはTeamオブジェクトに対して正しくマッピングされていますが、PlayerオブジェクトにはplayerNameがマッピングされていません。 playerNameは常にnullです。誰でも私にここで間違っていることを教えてもらえますか?xmlがjava pojoにマッピングされていません
マイプレイヤーXML POJO
@XmlRootElement
@Entity(name = "player")
public class Player {
@Id
@GeneratedValue
@Column(name = "player_id")
private long player_id;
@Column(unique=true , nullable = false)
private String playerName;
@ManyToOne
@JoinColumn(name = "team_id")
private Team team;
public long getPlayer_id() {
return player_id;
}
public void setPlayer_id(long player_id) {
this.player_id = player_id;
}
public String getPlayerName() {
return playerName;
}
public void setPlayerName(String playerName) {
this.playerName = playerName;
}
public Team getTeam() {
return team;
}
public void setTeam(Team team) {
this.team = team;
}
}
マイチームのXML POJO
@XmlRootElement
@Entity(name = "team")
public class Team {
@Id
@GeneratedValue
@Column(name = "team_id")
private long team_id;
@Column(unique=true , nullable = false)
private String name;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "team")
private List<Player> players;
public long getTeam_id() {
return team_id;
}
public void setTeam_id(long team_id) {
this.team_id = team_id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Player> getPlayers() {
return players;
}
public void setPlayers(List<Player> players) {
this.players = players;
}
}
マイ春休憩コントローラの方法私は、コントローラに掲示しています
@RequestMapping(value="/team/", method = RequestMethod.POST , headers="Accept=application/xml")
@ResponseStatus(value = HttpStatus.OK)
public void createTeam(@RequestBody Team team) throws Exception {
for (Player player: team.getPlayers()){
player.setTeam(team);
}
teamService.createTeam(team);
}
私のXML。
<team>
<name>GUj</name>
<players>
<Player>
<playerName>Raina</playerName>
</Player>
</players>
</team>
私はプレーヤーxmlでプレーヤ休憩方法を直接呼び出すと、その作業が直接呼び出されます。以下は、create playerとplayer xmlの残りのコードです。それは親のxml pojoにあるchild xml pojoです。私はプレイヤー名を見ることができるで
@RequestMapping(value="/player/", method = RequestMethod.POST , headers="Accept=application/xml")
@ResponseStatus(value = HttpStatus.OK)
public void createPlayer(@RequestBody Player player) throws Exception {
playerService.createPlayer(player);
}
プレーヤーのXML
<player>
<playerName>Yuvraj</playerName>
</player>
アタッチデバッグのスクリーンショットは、あなたが選手リストにXmlElement
を定義する必要があり
jacksonObjectMapperを設定しようとしましたか?これはマッピングを処理します。 –
@Jagrut私はそのケースを試みたが違いはなかった。 – OneTwo