gpt4 book ai didi

java - 让 @ExceptionHandler 处理除 AccessDeniedException 之外的所有异常?

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:19 28 4
gpt4 key购买 nike

我编写了一个 @ExceptionHandler 来以 JSON 格式发送 REST 请求的异常。然而,由于 Spring Security 的工作方式,AccessDeniedException 不得被处理。

如果我只是在处理程序中重新抛出 AccessDeniedException,我会得到一个 ERROR 级别的日志记录:

Failed to invoke @ExceptionHandler method: SomeMethod() throws java.lang.Exception
org.springframework.security.access.AccessDeniedException: Access is denied
...Stack...

我无法安全地禁用记录它的类的ERROR级别日志记录(ExceptionHandlerExceptionResolver),但是这些堆栈跟踪对于操作人员来说非常困惑。

有没有办法让@ExceptionHandler不处理这个特定的异常?

最佳答案

我认为您可以只使用全局异常处理程序,这样您就不必手动处理此AccessDeniedExceptions,对于每种异常都会抛出此全局异常(除了您手动处理的异常处理程序):

@ControllerAdvice
public class GlobalHandler {

@ExceptionHandler(Exception.class)
public ModelAndView handleException() {
return new ModelAndView("errorGlobal");
}
}

关于java - 让 @ExceptionHandler 处理除 AccessDeniedException 之外的所有异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35267756/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com