首頁  >  文章  >  Java  >  如何從 Spring MVC @ResponseBody 方法傳回字串回傳 HTTP 400 錯誤?

如何從 Spring MVC @ResponseBody 方法傳回字串回傳 HTTP 400 錯誤?

DDD
DDD原創
2024-11-01 12:15:30699瀏覽

How to Return HTTP 400 Errors from Spring MVC @ResponseBody Methods Returning Strings?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn