我正在使用< code>ControllerAdvice来处理我的应用程序中的异常,它工作正常。然而,我开始使用Spring Security,通常我应该在下面的方法中捕获AuthenticationExceptions。
@Override
public void commence(HttpServletRequest request, HttpServletResponse response,
AuthenticationException authException)
throws IOException, ServletException {
logger.error("Unauthorized error: {}", authException.getMessage());
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
final Map<String, Object> body = new HashMap<>();
body.put("status", HttpServletResponse.SC_UNAUTHORIZED);
body.put("error", "Unauthorized");
body.put("message", authException.getMessage());
body.put("path", request.getServletPath());
final ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(response.getOutputStream(), body);
}
当我删除异常处理类时,我可以在此方法中捕获AuthenticationException。但是,当我使用异常处理机制时,它会在开始
方法之前捕获AuthenticationExceptions。
我尝试使用@令(值=Ordered.LOWEST_PRECEDENCE)
,但它没有任何意义。那么,我如何通过防止控制建议捕获它们来在这个开始
方法中捕获身份验证异常呢?
因此,请尝试添加注释@ExceptionHandler(AuthenticationException.class)
:
@ControllerAdvice
public class ControllerExceptionHandler {
@ExceptionHandler(AuthenticationException.class)
...
public ErrorMessage resourceNotFoundException(AuthenticationException exception) {
...
}
}
更多信息请参阅: https://www.baeldung.com/exception-handling-for-rest-with-spring 深潜Spring MVC 处理异常:
@ControllerAdvice类是RestResponseEntityExceptionHandler.java。 我被告知,默认情况下spring boot应该返回如下所示的内容 我给它的不存在的路径是 我的控制器类是Breweries_Controller
这里有一个正则表达式。试试下面的字符串,我面临的问题是,在第一个组之后,每个捕获组的开头都有一个额外的空格。我需要匹配空白,但不需要捕捉它们。 正则表达式: 在上面的链接上查看它会使理解变得更简单。 这些是您可以一个接一个地粘贴到测试字符串区域中的一些字符串: 查看匹配组区域,注意在第1组之后,组之间的前1个空格被捕获。 我想做的是: 对于第一个和第二个捕获组,我希望他们检测到一个后续空间并吸收它
我在我的应用程序中使用log4j来记录具有不同日志级别的某些包。 但是,stderr和stdout似乎没有在这个日志文件中捕获,而是在应用程序开始时将它们打印在文件中 是否可以在log4j中捕获stdout和stderr(例如,stdout作为info,stderr作为WARN/ERROR)以及out中。日志文件? log4j的设置如下: 更新: stackoverflow错误的StackTrac
我试图捕获关键字后面的文本,一直到行的结尾。我花了很多时间在堆栈交换和在线regex测试人员上,试图找到正确的组合。 我非常接近,但我的输出继续捕获新的行。regex101.com声明.*?匹配任何字符(换行符除外)。我很难理解为什么它总是捕获换行符。 下面是我正在搜索的文本的一个片段: Blahblahlah\n公司:BALDWIN LINE CONST OF MD Inc\n联系人姓名:STE
问题内容: 好了,那么,从这里开始,这里是我的代码: 因此出现错误,因为我试图在API调用中初始化temp。我知道这不是最可靠的方法,但我正在尝试首先使其起作用。 第一个错误是: 在初始化所有成员之前,闭包捕获了“自我” 在线上 我的第二个错误: 从初始化程序返回而不初始化所有存储的属性 在倒数第二 现在,显然我没有初始化正确。但是,我找不到执行最终目标的正确方法。也许我这样做完全错误? 问题答案
本文向大家介绍PHP正则表达式之捕获组与非捕获组,包括了PHP正则表达式之捕获组与非捕获组的使用技巧和注意事项,需要的朋友参考一下 今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同时也希望有大神和细心的学习者找到我理解中