Antworten mit HTTP 400-Fehler in Spring MVC @ResponseBody
Bei der Entwicklung von JSON-APIs mit dem @ResponseBody-Ansatz von Spring MVC kann es Szenarien geben, in denen Sie müssen mit bestimmten HTTP-Statuscodes antworten, z. B. 400 „Bad Request“.
Betrachten Sie die folgende Aktionsmethode:
<code class="java">@RequestMapping(value = "/matches/{matchId}", produces = "application/json") @ResponseBody public String match(@PathVariable String matchId) { String json = matchService.getMatchJson(matchId); if (json == null) { // How to respond with HTTP 400 "Bad Request"? } return json; }</code>
In diesem Beispiel ist die Methode mit @ResponseBody annotiert , was angibt, dass der Rückgabewert direkt in den HTTP-Antworttext geschrieben werden soll. Der ursprüngliche Code bietet jedoch keinen Mechanismus für die Reaktion mit einem HTTP-400-Fehler.
Um dieses Problem zu beheben, sind mehrere Ansätze zu berücksichtigen:
Daher würde die aktualisierte Methode wie folgt aussehen:
<code class="java">@RequestMapping(value = "/matches/{matchId}", produces = "application/json") @ResponseBody public ResponseEntity<String> match(@PathVariable String matchId) { String json = matchService.getMatchJson(matchId); if (json == null) { return ResponseEntity.badRequest().body(null); } return ResponseEntity.ok(json); }</code>
Das obige ist der detaillierte Inhalt vonWie antworte ich mit HTTP 400 „Bad Request“ in Spring MVC @ResponseBody?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!