首頁 > Java > java教程 > 如何在Spring MVC中使用@ResponseBody回傳HTTP錯誤代碼?

如何在Spring MVC中使用@ResponseBody回傳HTTP錯誤代碼?

DDD
發布: 2024-11-03 05:59:03
原創
320 人瀏覽過

How to Return HTTP Error Codes with @ResponseBody in Spring MVC?

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板