Spring MVC @ResponseBody での HTTP 400 エラーでの応答
Spring MVC の @ResponseBody アプローチを使用して JSON API を開発する場合、次のようなシナリオが発生する可能性があります。 400 "Bad Request" などの特定の HTTP ステータス コードで応答する必要があります。
次のアクション メソッドを考えてみましょう:
<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>
この例では、メソッドには @ResponseBody のアノテーションが付けられています。 、戻り値を HTTP 応答本文に直接書き込む必要があることを示します。ただし、最初のコードには、HTTP 400 エラーに応答するメカニズムが提供されていません。
この問題を解決するには、考慮すべきアプローチがいくつかあります。
したがって、更新されたメソッドは次のようになります。
<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>
以上がSpring MVC @ResponseBody で HTTP 400「Bad Request」で応答するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。