Java请求异常无法正常返回JSON数据,已经配置了全局异常无法正常捕获
http://localhost:8088/_manage/env?testzz[%27testzz%27
后台报错

页面报错

需要让他正常返回响应数据
Java请求异常无法正常返回JSON数据,已经配置了全局异常无法正常捕获
http://localhost:8088/_manage/env?testzz[%27testzz%27
后台报错

页面报错

需要让他正常返回响应数据
阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你遇到了一个常见的问题:在 Spring Boot 应用中,配置了全局异常处理,但是仍然无法正常捕获和处理异常。
根据你的描述,问题是:在请求异常时,无法正常返回 JSON 数据,且已经配置了全局异常处理。
解决方案:
在你的 Spring Boot 应用中,检查是否正确配置了全局异常处理器。通常情况下,你需要在 @SpringBootApplication 注解的类上添加 @EnableWebMvc 注解,并在 WebMvcConfigurer 接口中实现 configureHandlerExceptionResolvers 方法。
示例代码:
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
@Override
public void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {
resolvers.add(new MyExceptionHandler());
}
}
检查你的异常处理器是否正确实现了 HandlerExceptionResolver 接口。这个接口提供了一个 resolveException 方法,用于处理异常。
示例代码:
public class MyExceptionHandler implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
// 处理异常逻辑
return new ModelAndView("error", "exception", ex.getMessage());
}
}
检查是否有其他异常处理器冲突了你的全局异常处理器。如果有,需要将其排除。
示例代码:
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
@Override
public void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {
resolvers.add(new MyExceptionHandler());
resolvers.remove(new DefaultHandlerExceptionResolver()); // 移除默认的异常处理器
}
}
检查是否有其他配置冲突了你的全局异常处理器。如果有,需要检查相关配置是否正确。
示例代码:
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
@Override
public void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {
resolvers.add(new MyExceptionHandler());
// 其他配置
}
}
如果你已经检查了以上问题,但是仍然无法解决问题,可以提供更多的代码和信息,以便更好地帮助你解决问题。