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; }
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);
Pour les demandes réussies, vous pouvez utiliser :
return new ResponseEntity<>(json, HttpStatus.OK);
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);
Et pour les requêtes réussies :
return ResponseEntity.ok(json);
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!