Spring MVC 的帶有字串回傳類型的@ResponseBody 方法中的HTTP 400 錯誤處理
使用Spring MVC 實作API 時,VC處理這一點至關重要優雅地犯錯。回應的一種常見錯誤代碼是 HTTP 400,表示「錯誤請求」。
在給定的場景中,match 方法傳回包含在 @ResponseBody 中的字串,您可能想知道如何使用 HTTP 400 進行回應錯誤代碼。使用 ResponseEntity
要解決此問題,請考慮將 match 方法的回傳類型變更為 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>
此修改後的方法可讓您傳回帶有適當的 HTTP 狀態碼。如果 matchId 無效,您可以傳回 HTTP 400 狀態的 ResponseEntity。對於有效的請求,您可以傳回帶有 HTTP 200 狀態和 JSON 回應的 ResponseEntity。
Spring 4.1 及更高版本:
從Spring 4.1 開始,ResponseEntity 類別提供您可以使用更簡潔的方法的輔助方法:
更新方法(Spring 4.1):
<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.status(HttpStatus.BAD_REQUEST).body(null); } return ResponseEntity.ok(json); }</code>
以上是如何處理帶有字串回傳類型的 Spring MVC @ResponseBody 方法中的 HTTP 400 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!