在Spring Boot中,使用@ControllerAdvice和@RestControllerAdvice来处理异常。但是,自定义过滤器中的异常无法被捕获。解决方法是在过滤器中捕获异常,并将异常对象设置到Attribute属性中,然后在新建的接收异常的Controller中重新抛出异常。这样,ControllerAdvice就能捕获到异常了。
在Spring Boot中,@RestControllerAdvice和@ControllerAdvice用于全局捕获异常,但无法捕获过滤器中抛出的异常。要捕获过滤器中的异常,需要在过滤器中将异常传递到后续处理的Controller。示例代码展示了如何在过滤器中捕获ExpiredJwtException,并通过Dispatcher转发到特定Controller,以便ControllerAdvice能够处理该异常。
完成下面两步后,将自动完成登录并继续当前操作。