Maison > Java > javaDidacticiel > le corps du texte

Comment renvoyer les erreurs HTTP 400 à partir des méthodes Spring MVC @ResponseBody renvoyant des chaînes ?

DDD
Libérer: 2024-11-01 12:15:30
original
707 Les gens l'ont consulté

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

Gestion des erreurs HTTP 400 dans Spring MVC @ResponseBody Méthodes renvoyant une chaîne

Dans Spring MVC, il est courant d'utiliser @ResponseBody pour les API JSON. Cependant, la gestion des erreurs peut être difficile lorsque la méthode renvoie une chaîne. Cet article explore la manière la plus simple de répondre avec une erreur HTTP 400 dans de tels scénarios.

Dans l'exemple fourni :

@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;
}
Copier après la connexion

Pour renvoyer une erreur HTTP 400, l'approche la plus simple consiste à modifier le type de retour de la méthode à ResponseEntity<>. Cela vous permettra d'utiliser le code suivant pour 400 réponses :

return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
Copier après la connexion

Pour les demandes réussies, vous pouvez utiliser :

return new ResponseEntity<>(json, HttpStatus.OK);
Copier après la connexion

Alternativement, pour Spring 4.1 et versions ultérieures, vous pouvez exploiter méthodes d'assistance dans ResponseEntity :

return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
Copier après la connexion

Et pour les requêtes réussies :

return ResponseEntity.ok(json);
Copier après la connexion

En utilisant ResponseEntity<>, vous pouvez facilement gérer les erreurs HTTP dans vos méthodes @ResponseBody tout en conservant une simplicité et une mise en œuvre propre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!