Post -Methode Rückgabe von 400 schlechten Anforderungen, nachdem der RequestBody einen neuen Param hinzugefügt hat

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Post -Methode Rückgabe von 400 schlechten Anforderungen, nachdem der RequestBody einen neuen Param hinzugefügt hat

by Guest » 31 Jan 2025, 12:22

Ich habe dem RequestBody der Post -Methode einen neuen Objektparameter hinzugefügt. Unten finden Sie die Syntax der Methode bei Controller: < /p>

Code: Select all

public void registerTask(@RequestBody MyRequestDto myRequestDto)

updated MyRequestDto class:
private final String existing1;
private final String existing2;
private final NewParam myNewparam; // this is the new param that is added
< /code>
Die Initialisierung erfolgt durch Konstruktor: < /p>
public MyRequestDto(String existing1, String existing2, NewParam myNewparam){
this.existing1 = existing1;
this.existing2 = existing2;
this.myNewparam = myNewparam;
}
< /code>
Dies ist die neue Param -Klassendefinition: < /p>
public class NewParam {
private final String name;

public NewParam(String name) {
this.name = name;
}

public String getName() {
return name;
}
Das Problem ist, wenn ich die Tests über Postman sende, indem ich dieses neue Param hinzufüge, erhalte ich 400 schlechte Anforderungen. Im Folgenden finden Sie die Szenarien und das Ergebnis: < /p>

[*] Wenn der Newparam < /code> nicht zum Anforderungskörper hinzugefügt wird. Ergebnis- 201 wird zurückgegeben
[*] Wenn der NewParam hinzugefügt wird, der Wert jedoch als NULL festgelegt wird. Ergebnis-201 wird zurückgegeben.

Code: Select all

{
"existing1": "test1",
"existing2": "test2",
"myNewparam": null
}
Wenn der NewParam hinzugefügt und zu einem gewissen Wert initialisiert wird. Ergebnis- 400 schlechte Anfrage (die Anfrage kann aufgrund einer schlechten Syntax nicht erfüllt werden)
Beispiel:
{
"existing1": "test1",
"existing2": "test2",
"myNewparam": {
"name": "theme"
}
}
< /code>
< /li>
< /ol>
Hinweis: Die Integrationstests fehlschlagen ebenfalls. Während der Debugie der Integrationstests wird die Steuerung nicht zu Controller wird und nur einen Fehler als 400 schlechte Anfrage erhalten.

Top