在 React 應用程式中,將 playerId 參數從前端傳遞到後端似乎有問題。 Spring控制器中的createGame函數設定為接收playerId參數,但該值未使用Axios從前端正確傳遞。已嘗試使用長整型和字串作為playerId,但問題仍然存在。 仍然獲得狀態 400!
春天
反應
在共享的 react 螢幕截圖中 - 看起來您發送了一個 json 正文。
但是,在 spring controller 中 - 使用@requestparam。
看起來您要么需要更改react部分來調用像'/api/games/{playerid}'這樣的url(這樣playerid將作為url的一部分傳遞),要么更新spring控制器以接受@requestbody(並創建一個帶有字段“playerid”的類別) - 因此整個物件可以作為請求主體傳遞。
目前 react 發送了一個正文 - 但 spring 正在尋找 url 查詢參數。兩個部分都需要做同樣的事情 - 無論它是什麼。
spring 的變化如下所示:
public ResponseEntity<String> createGame(@RequestBody PlayerRequest playerRequest) { Long playerId = playerRequest.getPlayerId(); // other code goes here } public class PlayerRequest { private Long playerId; public Long getPlayerId() { return playerId; } public void setPlayerId(Long playerId) { this.playerId = playerId; } }
以上是向 Spring 端點傳送 POST,給予狀態 400的詳細內容。更多資訊請關注PHP中文網其他相關文章!