Heim > Java > javaLernprogramm > Wie gebe ich HTTP-Fehlercodes mit @ResponseBody in Spring MVC zurück?

Wie gebe ich HTTP-Fehlercodes mit @ResponseBody in Spring MVC zurück?

DDD
Freigeben: 2024-11-03 05:59:03
Original
320 Leute haben es durchsucht

How to Return HTTP Error Codes with @ResponseBody in Spring MVC?

So behandeln Sie HTTP-Fehler in Spring MVC @ResponseBody-Methoden

Wenn Sie Spring MVC @ResponseBody verwenden, um JSON in einer RESTful-API zurückzugeben, ist dies der Fall wichtig, um HTTP-Fehler ordnungsgemäß zu behandeln. Ein häufiger Fehlercode ist 400 (Bad Request). Dieser Fehlercode weist darauf hin, dass die Anfrage aufgrund fehlender oder falscher Parameter ungültig ist.

Im gegebenen Szenario, in dem der Rückgabetyp der Methode String ist, kann man die Signatur der Methode so ändern, dass ResponseEntity<> zurückgegeben wird. stattdessen. ResponseEntity<> ermöglicht Ihnen, sowohl den Antworttext als auch den HTTP-Statuscode anzugeben.

Um mit einem HTTP 400-Fehler zu antworten, können Sie eine ResponseEntity mit einem Nulltext und einem entsprechenden HTTP-Statuscode zurückgeben. Hier ein Beispiel:

<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 new ResponseEntity<>(HttpStatus.BAD_REQUEST);
    }
    return new ResponseEntity<>(json, HttpStatus.OK);
}</code>
Nach dem Login kopieren

Alternativ wurden in Spring 4.1 Hilfsmethoden in ResponseEntity eingeführt, die diesen Prozess noch weiter vereinfachen. Sie können jetzt Folgendes verwenden:

<code class="java">return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);</code>
Nach dem Login kopieren

oder für eine erfolgreiche Anfrage:

<code class="java">return ResponseEntity.ok(json);</code>
Nach dem Login kopieren

Durch die angemessene Behandlung von HTTP-Fehlern stellen Sie eine konsistente und benutzerfreundliche Erfahrung in Ihrer RESTful-API sicher.

Das obige ist der detaillierte Inhalt vonWie gebe ich HTTP-Fehlercodes mit @ResponseBody in Spring MVC zurück?. 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