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

歡迎訪問 生活随笔!

生活随笔

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

javascript

Spring RESTful错误处理

發布時間:2023/12/3 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring RESTful错误处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章將說明在Spring中可以為RESTful Web服務實現異常處理的方式,這種方式使得異常處理的關注點與應用程序邏輯分離。

利用@ControllerAdvice批注,我們能夠為所有控制器創建一個全局幫助器類。 通過添加用@ExceptionHandler和@ResponseStatus注釋的方法,我們可以指定將哪種類型的異常映射到哪種HTTP響應狀態。 例如,我們的自定義NotFoundException可以映射到404 Not Found的HTTP響應,或者通過捕獲java.lang.Exception ,所有未在其他地方捕獲的異常都將導致HTTP狀態500 Internal Server Error ,或者IllegalArgumentException可能導致400 Bad請求 ,或者……好吧,我確定您已經有了大致的想法。

如果需要,您還可以通過將@ResponseBody添加到組合中,將更多詳細信息發送回客戶端。

以下是一個非常有限的示例,可以幫助您入門。

GeneralRestExceptionHandler

package it.jdev.examples.spring.rest.exceptions;import java.lang.invoke.MethodHandles; import org.slf4j.*; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.ServletWebRequest;@ControllerAdvice @Order(Ordered.LOWEST_PRECEDENCE) public class GeneralRestExceptionHandler {private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());@ResponseStatus(HttpStatus.NOT_FOUND)@ExceptionHandler(CustomNotFoundException.class)public void handleNotFoundException(final Exception exception) {logException(exception);}@ResponseStatus(HttpStatus.FORBIDDEN)@ExceptionHandler(CustomForbiddenException.class)public void handleForbiddenException(final Exception exception) {logException(exception);}@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)@ExceptionHandler({ CustomException.class, Exception.class })public void handleGeneralException(final Exception exception) {logException(exception);}@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)@ExceptionHandler(Exception.class)public void handleGeneralException(final Exception exception) {logException(exception);}@ResponseStatus(HttpStatus.BAD_REQUEST)@ExceptionHandler({ CustomBadRequestException.class, IllegalArgumentException.class })@ResponseBodypublic String handleBadRequestException(final Exception exception) {logException(exception);return exception.getMessage();}// Add more exception handling as needed…// …private void logException(final Exception exception) {// ...}}

翻譯自: https://www.javacodegeeks.com/2015/06/restful-error-handling-with-spring.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Spring RESTful错误处理的全部內容,希望文章能夠幫你解決所遇到的問題。

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