Spring MVC @ResponseBody 回應HTTP 400 錯誤
使用Spring MVC 的@ResponseBody 方法開發您需要使用特定的HTTP 狀態代碼回應,例如400「錯誤請求」。
考慮以下操作方法:
<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「錯誤請求」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!