http.exceptionHandling()新版写法
时间: 2024-10-22 16:12:41 浏览: 18
aspnetcore-exceptionhandling
HTTP异常处理通常是在Web应用框架中处理HTTP请求过程中可能出现的各种错误的一种机制。在Spring Boot等现代Java Web框架中,新版的异常处理通常是通过`@RestControllerAdvice`注解以及自定义`ExceptionHandler`来实现的。
`http.exceptionHandling()`这个表达式并不直接对应于Spring Boot的某个特定配置语法,而是指Spring MVC中的异常处理配置方法。在Spring Boot中,你可以这样配置:
```java
@Configuration
public class GlobalExceptionHandlerConfig {
@Bean
public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
configurer.setUseSuffixPatternMatch(true);
}
// 新版的异常处理设置
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(new MappingJackson2HttpMessageConverter());
}
@ExceptionHandler(value = Exception.class)
@ResponseBody
public ResponseEntity<String> handleException(Exception ex) {
Map<String, Object> errorMap = new HashMap<>();
errorMap.put("message", ex.getMessage());
return new ResponseEntity<>(errorMap, HttpStatus.INTERNAL_SERVER_ERROR);
}
};
}
}
```
在这个例子中,`@ExceptionHandler`用于捕获所有类型的异常,并返回一个包含错误信息的统一响应体。`extendMessageConverters`则可以添加支持JSON转换的适配器。
阅读全文