1 回答

TA貢獻1829條經驗 獲得超4個贊
回答你的問題,它沒有做任何事情,因為你沒有發送參數 Player (必須有效),因為你使用的是表單,這不是你應該這樣做的方式。(請求參數通過 url 發送,你的表單應該通過 @RequestBody 發送)
我會做這樣的事情:
在我的控制器上,由于我只能有一個@RequestBody,但是我的表單發送了一個包含多種類型對象數據的對象,我會做一個Dto
是這樣的:
@PostMapping(value="/createNewTeam")
? ? public Team createNewTeam(@Valid @RequestBody PayloadDto payloadDto) {
? ? ? ? final Player player = new Player();
? ? ? ? player.setPlayerName(payloadDto.playerName);
? ? ? ? // fill player information
? ? ? ? final Team team = new Team();
? ? ? ? // fill team information...?
? ? ? ? playerRepository.save(player);
? ? ? ? return teamRepository.save(team);
? ? }
您的 PayloadDto 對象必須包含您發送的所有屬性。
public class PayloadDto{
? @JsonProperty("playerName")
? public String playerName;
? @JsonProperty("playerSurname")
? public String playerSurname;
? // .. more player and team properties?
}
確保 jsonProperty("propertyName) 與您在發送信息時使用的名稱相同
添加回答
舉報