私のプログラムのグローバル例外ハンドラを作成していますが、例外が発生しますが、HttpServletResponseからステータスコードを取得しようとすると、常にステータスが200になります。例外クラスから適切なステータスを得る方法はありますか?または、別の仕事がある場合は、それを感謝します。オンラインで何かを見つけることができず、私のハンドラを通過するすべての例外に対してhttpStatusをハードコードしたくありません。私はこの1つの方法ですべての例外をキャッチしたい。これは私が私のGlobalExceptionHandlerクラスで作成された方法は、(また、FYI私はクラスの@ControllerAdviceアノテーションを使用)されていますJava:カスタムグローバル例外ハンドラは常に200のステータスを返します
@ExceptionHandler(value = Exception.class)
public @ResponseBody
ResponseEntity<Object> error(HttpServletRequest request, HttpServletResponse response, Exception e) throws Exception {
log.error("Error in call to " + request.getRequestURI() + " Response: " + response.toString(), e);
ExceptionResource exception = new ExceptionResource();
exception.setLocation(request.getRequestURI());
exception.setStatus(response.getStatus());
exception.setStackTrace(e.getStackTrace());
return new ResponseEntity<>(exception, HttpStatus.valueOf(response.getStatus()));
}