相关疑难解决方法(0)

在春季启动应用程序启动时获取为MethodArgumentNotValidException映射的模糊@ExceptionHandler方法

我已经为我的一个spring控制器编写了自定义异常处理程序类,以验证来自请求参数的email属性是否采用正确的格式。因此,创建了一个扩展ResponseEntityExceptionHandler类的新类,并使用编写了一个方法@ExceptionHandler

但是在春季启动应用程序启动期间,我遇到了以下异常,该异常正在停止运行我的项目。有人可以帮我解决这个问题吗?

服务器启动期间发生异常:

org.springframework.beans.factory.BeanCreationException:在类路径资源[org / springframework / boot / autoconfigure / web / servlet / WebMvcAutoConfiguration $ EnableWebMvcConfiguration.class]中创建名称为'handlerExceptionResolver'的bean时出错。
嵌套的异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.web.servlet.HandlerExceptionResolver]:工厂方法'handlerExceptionResolver'抛出了异常;
嵌套异常是java.lang.IllegalStateException:为[类org.springframework.web.bind.MethodArgumentNotValidException]映射的模糊@ExceptionHandler方法:{public com.TestVO com.handler.exception.TestExceptionHandler.methodArgumentNotValidException(org.springframework.web.bind .MethodArgumentNotValidException),公共最终org.springframework.http.ResponseEntity org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler.handleException(java.lang.Exception,org.springframework.web.context.request.WebRequest)抛出java.lang.Exception}

自定义类要处理MethodArgumentNotValidException

@ControllerAdvice
public class ExceptionHandler extends ResponseEntityExceptionHandler {

    @ExceptionHandler(MethodArgumentNotValidException.class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    @ResponseBody
    public ErrorVO processValidationError(MethodArgumentNotValidException ex) {
        BindingResult result = ex.getBindingResult();
        List<FieldError> fieldErrors = result.getFieldErrors();
        FieldError fieldError = fieldErrors.get(0);
        ErrorVO dto = new ErrorVO(fieldError.getDefaultMessage());
        return dto;
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring exceptionhandler spring-boot

2
推荐指数
3
解决办法
3649
查看次数

标签 统计

exceptionhandler ×1

java ×1

spring ×1

spring-boot ×1