如何在Spring MVC @ResponseBody 方法中處理HTTP 錯誤
當使用Spring MVC @ResponseBody 在REST 中傳回是優雅地處理HTTP 錯誤至關重要。一種常見的錯誤代碼是 400(錯誤請求)。此錯誤代碼表示由於參數遺失或不正確,請求無效。
在給定場景中,方法的傳回類型為 String,可以更改方法的簽名以傳回 ResponseEntity反而。回應實體允許您指定回應正文和 HTTP 狀態代碼。
要回應 HTTP 400 錯誤,您可以傳回具有 null 正文和適當 HTTP 狀態碼的 ResponseEntity。以下是一個範例:
<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 new ResponseEntity<>(HttpStatus.BAD_REQUEST); } return new ResponseEntity<>(json, HttpStatus.OK); }</code>
或者,Spring 4.1 在 ResponseEntity 中引入了輔助方法,進一步簡化了此過程。現在您可以使用:
<code class="java">return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);</code>
或成功請求:
<code class="java">return ResponseEntity.ok(json);</code>
透過適當處理 HTTP 錯誤,您可以確保在 RESTful API 中獲得一致且使用者友好的體驗。
以上是如何在Spring MVC中使用@ResponseBody回傳HTTP錯誤代碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!