gpt4 book ai didi

java - 没有@ EnableWebMvc,NoHandlerFoundException的自定义异常处理程序将无法工作

转载 作者:行者123 更新时间:2023-12-04 22:27:55 24 4
gpt4 key购买 nike

我想覆盖404错误的html错误页面作为JSON响应。当我使用没有@ControllerAdvice@EnableWebMvc时,它不起作用。

@EnableWebMvc   // if i remove this, it is not working
@ControllerAdvice
@Order(Ordered.HIGHEST_PRECEDENCE)
public class GlobalControllerExceptionHandler {

@ExceptionHandler(NoHandlerFoundException.class)
public ResponseEntity<ZeusErrorDTO> noHandlerFoundException(
HttpServletRequest request,
NoHandlerFoundException exception) {

ErrorDTO errorDTO = new ErrorDTO();
return new ResponseEntity<>(errorDTO, HttpStatus.NOT_FOUND);
}
}

是否有一个不带 @EnableWebMvc的自定义异常处理选项,因为它会覆盖在application.yml中声明的Spring配置。

最佳答案

通过在application.yml中添加配置之一,我轻松解决了问题。

spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false

或者
spring.mvc.throw-exception-if-no-handler-found=true
spring.mvc.static-path-pattern: /static

如果您不限制Spring并且没有处理程序与您的请求匹配,那么spring会尝试寻找静态内容。

关于java - 没有@ EnableWebMvc,NoHandlerFoundException的自定义异常处理程序将无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49167033/

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