spring-security 在JWT访问中配置我的个人消息时出错

ilmyapht  于 2022-11-11  发布在  Spring
关注(0)|答案(1)|浏览(138)

我试图处理过期或无效的JWT请求...但是当我试图捕获错误时,我得到了以下信息:

Unable to handle the Spring Security Exception because the response is already committed.

我不能使用这样的代码:

response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Invalid JWT Token");

我仍然收到 Postman 错误500

ig9co6j1

ig9co6j11#

你的问题还不够清楚,无法决定...但我想你只需要两样东西:
1-创建一个***@ControllerAdvice***class 用于异常处理,这个类应该在异常发生时处理postman中显示的响应。阅读Spring异常处理https://javatodev.com/microservices-exception-handling/,下面是这个类的一些概要:

@ControllerAdvice 
public class ExceptionsController extends RunTimeExceptions{
   @ExceptionHandler(Exception.class)
   public final ResponseEntity<String> handleAllExceptions(){
          return new ResponseEntity<>(response, HttpStatus.OK); 
   }
}

2-第二点是非常明显的,您应该用***try... catch***将语句括起来,并在catch子句中抛出一个新的异常,以调用我们创建的ExceptionHandler类。

相关问题