Réponse avec une erreur HTTP 400 dans Spring MVC @ResponseBody
Lors du développement d'API JSON à l'aide de l'approche @ResponseBody de Spring MVC, il peut y avoir des scénarios dans lesquels vous devez répondre avec des codes d'état HTTP spécifiques, tels que 400 "Bad Request".
Considérez la méthode d'action suivante :
<code class="java">@RequestMapping(value = "/matches/{matchId}", produces = "application/json") @ResponseBody public String match(@PathVariable String matchId) { String json = matchService.getMatchJson(matchId); if (json == null) { // How to respond with HTTP 400 "Bad Request"? } return json; }</code>
Dans cet exemple, la méthode est annotée avec @ResponseBody , indiquant que la valeur de retour doit être écrite directement dans le corps de la réponse HTTP. Cependant, le code initial ne fournit pas de mécanisme pour répondre avec une erreur HTTP 400.
Pour résoudre ce problème, il existe plusieurs approches à considérer :
Par conséquent, la méthode mise à jour ressemblerait à :
<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 ResponseEntity.badRequest().body(null); } return ResponseEntity.ok(json); }</code>
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!