+-
spring – 在MethodArgumentNotValidException之后获取无效字段的值
我的实体类使用hibernate的@NotNull注释其中一个字段.我正在@ExceptionHelper中捕获异常.我的问题是我想访问无效字段的值,以便我可以将其添加到记录器中.

这是ExceptionHandler:

@ExceptionHandler({ MethodArgumentNotValidException .class })
@ResponseBody
public ResponseEntity<?> handleInvalidMethodArgException(MethodArgumentNotValidException  de) {
    List<FieldError> bindingResult = de.getBindingResult().getFieldErrors();
    LOGGER.debug(String.format("Start : %s : handleDataexception()", this
                .getClass().getSimpleName()));

    for(FieldError fieldError: bindingResult){
        LOGGER.debug("Invalid {} value submitted for {}", 
                            fieldError.getRejectedValue(), fieldError.getField());
    }

    ErrorMsg = new ErrorMsg(errorCode, errorMessage);
    return new ResponseEntity<>(errMsg, HttpStatus.NOT_FOUND);
}

我在控制器中添加了@Validated @RequestBody.

最佳答案
您的实体不会存储不正确的值,而且在前面使用实体对象是不好的做法.您应该创建一个DTO对象,而不是将其发送到您的应用程序.检查它(这里你可以向记录器添加不正确的人员),然后将其处理到你的实体对象并尝试保存或你想做什么.
enter image description here
点击查看更多相关文章

转载注明原文:spring – 在MethodArgumentNotValidException之后获取无效字段的值 - 乐贴网