日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

在Spring中使用@ResponseStatus获取Http状态

發布時間:2023/12/3 javascript 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Spring中使用@ResponseStatus获取Http状态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹:

在Spring MVC中,我們可以通過幾種方式設置HttpResponse的狀態。 在本教程中,我們將使用@ResponseStatus批注實現它。

我們可以使用@ResponseStatus標記帶有狀態碼和應返回原因的方法或異常類。 在調用標記的處理程序方法時或引發指定的異常時, HTTP狀態將設置為使用@ResponseStatus批注定義的狀態 。

使用方法:

默認情況下,我們的Spring Controller中的方法在成功執行時會返回HTTP Status 200(OK) 。

如果我們想從一個控制器方法中返回另一種類型的HttpStatus怎么辦? 為此,我們可以使用@ResponseStatus對其進行標記 :

@RequestMapping(method = RequestMethod.POST) @ResponseStatus(HttpStatus.CREATED) public void storeEmployee(@RequestBody Employee employee) {... }

(可選)我們可以使用此批注標記Controller類。 在這種情況下,響應代碼配置將應用于所有請求處理程序方法。

我們還可以選擇使用此批注來標記@ExceptionHandler和@ControllerAdvice bean中的方法。

請注意, 僅當標記的方法成功執行且沒有引發任何異常時Spring才會使用@ResponseStatus 。

我們可以使用@ResponseStatus批注標記異常類:

@ReponseStatus(value = HttpStatus.FORBIDDEN, reason = "Employee isn't authorized") public class EmployeeAccessDeniedException extends Exception {public EmployeeAccessDeniedException(String msg) {super(msg);} }

當Spring捕獲到這樣的異常時,它將基于提供的設置拋出響應狀態。 注意, 除非我們也用@ResponseStatus標記它們,否則Spring將對所有子類使用相同的狀態配置。

在這里,我們還指定了例外原因 。

Spring將調用HttpServletResponse.sendError()方法時 :

  • @ResponseStatus用于方法以及提供的原因 ,或者
  • 在異常類上使用@ResponseStatus

使用sendError()方法意味著它會生成HTML錯誤頁面并將其發送到客戶端。 因此 在REST Controller方法中 使用@ResponseStatus時應避免提及原因 。

結論:

在本快速教程中,我們研究了如何在Spring MVC中設置HttpResponse的狀態。 我們了解了@ResponseStatus與方法以及異常類的用法。

翻譯自: https://www.javacodegeeks.com/2019/05/using-responsestatus-http-status-spring.html

總結

以上是生活随笔為你收集整理的在Spring中使用@ResponseStatus获取Http状态的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。