在Spring MVC @ResponseBody 方法傳回字串時處理HTTP 400 錯誤
在Spring MVC 中,通常將@ResJponseBody 使用於API。但是,當該方法傳回字串時,處理錯誤可能會很困難。本文探討了在這種情況下回應 HTTP 400 錯誤的最簡單方法。
在提供的範例中:
@RequestMapping(value = "/matches/{matchId}", produces = "application/json") @ResponseBody public String match(@PathVariable String matchId) { String json = matchService.getMatchJson(matchId); if (json == null) { // TODO: how to respond with e.g. 400 "bad request"? } return json; }
要回傳 HTTP 400 錯誤,最簡單的方法是修改ResponseEntity 方法的回傳類型。這將允許您使用以下程式碼進行400 回應:
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
對於成功的請求,您可以使用:
return new ResponseEntity<>(json, HttpStatus.OK);
或者,對於Spring 4.1 及更高版本,您可以利用ResponseEntity 中的輔助方法:
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
對於成功的請求:
return ResponseEntity.ok(json);
通過使用ResponseEntity,您可以輕鬆處理@ResponseBody 方法中的HTTP 錯誤,同時保持簡單和乾淨的實施。
以上是如何從 Spring MVC @ResponseBody 方法傳回字串回傳 HTTP 400 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!