Heim > Java > javaLernprogramm > Hauptteil

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

DDD
Freigeben: 2024-11-01 12:15:30
Original
756 Leute haben es durchsucht

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;
}
Nach dem Login kopieren

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);
Nach dem Login kopieren

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

return new ResponseEntity<>(json, HttpStatus.OK);
Nach dem Login kopieren

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

return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
Nach dem Login kopieren

Und für erfolgreiche Anfragen:

return ResponseEntity.ok(json);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage