亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring boot AJAX POST 請求和來自用戶界面的 knockout.js 調試錯誤

Spring boot AJAX POST 請求和來自用戶界面的 knockout.js 調試錯誤

萬千封印 2023-05-10 14:02:47
我有兩個java models球員和球隊。我有一個控制器類。當我從用戶界面通過 ajax 發送發布請求時出現錯誤。我已經解決了類似的錯誤CORS。但是有一個錯誤我無法解決;knockout.js沒有發生調試錯誤和發布請求。我的數據庫沒有變化。我共享了模型類、控制器類、html 和javascript文件。我需要改變什么?你能幫忙嗎?播放器模型@Entity@Table(name = "player")public class Player{    @Id    @GeneratedValue    @NotNull    @Column    private int id;    @NotNull    @Column    private String playerName;    @NotNull    @Column    private String playerSurname;    @Column    private int playerAge;    public String getPlayerName() {        return playerName;    }    public void setPlayerName(String playerName) {        this.playerName = playerName;    }    public String getPlayerSurname() {        return playerSurname;    }    public void setPlayerSurname(String playerSurname) {        this.playerSurname = playerSurname;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public int getPlayerAge() {        return playerAge;    }    public void setPlayerAge(int playerAge) {        this.playerAge = playerAge;    }}團隊模型@Entity@Table(name = "team")public class Team {    @Id    @GeneratedValue    @NotNull    @Column    private int id;    @NotNull    @Column    private String teamName;    @Column    private String teamCountry;    public Team(){    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getTeamName() {        return teamName;    }    public void setTeamName(String teamName) {        this.teamName = teamName;    }    public String getTeamCountry() {        return teamCountry;    }    public void setTeamCountry(String teamCountry) {        this.teamCountry = teamCountry;    }    @ManyToOne    private Player player;    public Player getPlayer() {        return player;    }    public void setPlayer(Player player) {        this.player = player;    }}
查看完整描述

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) 與您在發送信息時使用的名稱相同


查看完整回答
反對 回復 2023-05-10
  • 1 回答
  • 0 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號