springboot 通过配置文件关闭统一异常处理
时间: 2023-10-13 10:18:29 浏览: 115
在Spring Boot中,默认情况下会使用统一的异常处理机制来处理所有的异常,将它们转换为HTTP响应,并返回给客户端。如果你想关闭这种机制,可以通过以下两种方式来实现:
1. 在application.properties或application.yml文件中添加以下配置:
```
spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false
```
其中,`spring.mvc.throw-exception-if-no-handler-found`配置项表示当找不到对应的Controller时,是否抛出异常,默认值为`false`,即不抛出异常;`spring.resources.add-mappings`配置项表示是否将`/static/**`、`/public/**`、`/resources/**`、`/META-INF/resources/**`等路径下的静态资源映射到classpath:/static、classpath:/public、classpath:/resources、classpath:/META-INF/resources目录下,默认值为`true`。
2. 自定义异常处理器,并将其注册为Spring的Bean,例如:
```java
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {
resolvers.clear();
}
}
```
这里我们实现了`WebMvcConfigurer`接口,并覆盖了其中的`configureHandlerExceptionResolvers`方法,将异常处理器列表清空,从而禁用了统一异常处理机制。
阅读全文