Heim  >  Artikel  >  Java  >  Wie gebe ich HTTP 400-Fehler von Spring MVC @ResponseBody-Methoden zurück, die Zeichenfolgen zurückgeben?

Wie gebe ich HTTP 400-Fehler von Spring MVC @ResponseBody-Methoden zurück, die Zeichenfolgen zurückgeben?

DDD
DDDOriginal
2024-11-01 12:15:30706Durchsuche

How to Return HTTP 400 Errors from Spring MVC @ResponseBody Methods Returning Strings?

Behandeln von HTTP 400-Fehlern in @ResponseBody-Methoden von Spring MVC, die einen String zurückgeben

In Spring MVC ist es üblich, @ResponseBody für JSON-APIs zu verwenden. Allerdings kann die Behandlung von Fehlern eine Herausforderung sein, wenn die Methode einen String zurückgibt. In diesem Artikel wird die einfachste Möglichkeit untersucht, in solchen Szenarien mit einem HTTP 400-Fehler zu reagieren.

Im bereitgestellten Beispiel:

@RequestMapping(value = "/matches/{matchId}", produces = "application/json")
@ResponseBody
public String match(@PathVariable String matchId) {
    String json = matchService.getMatchJson(matchId);
    if (json == null) {
        // TODO: how to respond with e.g. 400 "bad request"?
    }
    return json;
}

Um einen HTTP 400-Fehler zurückzugeben, besteht der einfachste Ansatz darin, ihn zu ändern der Rückgabetyp der Methode an ResponseEntity<>. Dadurch können Sie den folgenden Code für 400 Antworten verwenden:

return new ResponseEntity<>(HttpStatus.BAD_REQUEST);

Für erfolgreiche Anfragen können Sie Folgendes verwenden:

return new ResponseEntity<>(json, HttpStatus.OK);

Alternativ können Sie für Spring 4.1 und höher nutzen Hilfsmethoden in ResponseEntity:

return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);

Und für erfolgreiche Anfragen:

return ResponseEntity.ok(json);

Durch die Verwendung von ResponseEntity<> können Sie HTTP-Fehler in Ihren @ResponseBody-Methoden einfach behandeln und gleichzeitig eine unkomplizierte Funktion beibehalten und saubere Umsetzung.

Das obige ist der detaillierte Inhalt vonWie gebe ich HTTP 400-Fehler von Spring MVC @ResponseBody-Methoden zurück, die Zeichenfolgen zurückgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn