【Spring Boot採坑記】- 全局異常處理之 @ResponseStatus 和 @ExceptionHandler

類上配置@RestControllerAdvice註解,用於全局異常處理與攔截

1.正確示例

    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
    @ExceptionHandler(Exception.class)
    public ApiResponse handleException(Exception e) {
        return ApiResponse.serverError();
    }

    @ExceptionHandler(RuntimeException.class)
    public ApiResponse handleSubsidiaryCheckInconsistencyException(RuntimeException exception, HttpServletResponse response) {
        response.setStatus(500);
        return ApiResponse.serverError();
    }

2.錯誤示例

    @ExceptionHandler(RuntimeException.class)
    public ApiResponse handleSubsidiaryCheckInconsistencyException(RuntimeException exception, HttpServletResponse response) {
        response.setStatus(10010);
        return ApiResponse.serverError();
    }

說明:response.setStatus設置的狀態碼最好是規定的HttpStatus,自定義狀態碼太大,如10010,前端無法解析,並提示如下信息

Error: Parse Error: Response overflow

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章