gpt4 book ai didi

java - 仅显示 Spring 启动验证的默认消息 - MethodArgumentNotValidException

转载 作者:行者123 更新时间:2023-12-04 09:43:39 29 4
gpt4 key购买 nike

如何从 MethodArgumentNotValidException 中删除过多的信息并仅保留所需的 “默认消息” ??

我正在尝试验证注释 - @NotNull、@NotBlank 和 @NotEmpty

我已配置如下自定义错误消息:-

@NotNull(message = "Aaaah !!!! firstname cannot be empty !!!")
private String firtName;

我的异常处理程序是:-
@RestControllerAdvice
public class ControllerAdviceClass {
@ExceptionHandler(value = MethodArgumentNotValidException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public ResponseEntity handleValidationException(MethodArgumentNotValidException ex)
{
return new ResponseEntity(ex.getMessage() , HttpStatus.BAD_REQUEST);
}
}

但是我在招摇中看到的异常消息是:-
Validation failed for argument [0] in public cosmosdb.User cosmosdb.CosmosController.postResult(cosmosdb.User): 
[Field error in object 'user' on field 'firstName': rejected value [null]; codes [NotNull.user.firstName,NotNull.firstName,NotNull.java.lang.String,NotNull];
arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [user.firstName,firstName]; arguments []; default message [firstName]];
default message [Aaaah !!!! firstname cannot be empty !!!]]

我只想查看默认消息 * [啊啊啊!!!!名字不能为空!!!]] * 并删除多余的垃圾。

最佳答案

在将默认消息调整为更有意义的内容时,我也有类似的经历。

您必须实现 javax.validation.MessageInterpolation 接口(interface)。从那里您将能够插入您的默认消息。

我使用这个网站作为引用来解决我的问题。 https://www.baeldung.com/spring-validation-message-interpolation

关于java - 仅显示 Spring 启动验证的默认消息 - MethodArgumentNotValidException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62220899/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com