Es scheint ein Problem bei der Übergabe des Parameters playerId vom Frontend an das Backend in einer React-Anwendung zu geben. Die Funktion „createGame“ im Spring-Controller ist für den Empfang des Parameters „playerId“ eingerichtet, der Wert wird jedoch vom Frontend mit Axios nicht korrekt übergeben. Habe versucht, long und string als Spieler-ID zu verwenden, aber das Problem besteht weiterhin. Habe immer noch Status 400!
Frühling
Reaktion
Im geteilten Reaktions-Screenshot sieht es so aus, als würden Sie einen JSON-Text senden.
Aber im Frühjahrscontroller verwenden Sie @requestparam.
Sieht so aus, als müssten Sie entweder den Reaktionsteil ändern, um eine URL wie „/api/games/{playerid}“ aufzurufen (damit die Spieler-ID als Teil der URL übergeben wird) oder den Spring-Controller aktualisieren, um @requestbody zu akzeptieren (und Erstellen Sie eine URL mit der Klasse mit dem Feld „playerid“), damit das gesamte Objekt als Anforderungstext übergeben werden kann.
Derzeit sendet React einen Text – aber Spring sucht nach URL-Abfrageparametern. Beide Teile müssen dasselbe tun – was auch immer es ist.
Die Änderungen anFrühling sind wie folgt:
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; } }
Das obige ist der detaillierte Inhalt vonSenden Sie POST an den Spring-Endpunkt und geben Sie den Status 400 an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!