java - 为什么来自消息源的自定义消息不适用于请求参数验证?
问题描述
我试图在验证请求参数时抛出自定义消息
@Size(max = 10, message = "{custom.message}")
@RequestParam(value = "param") String param)
我的 Controller 方法用@Validated
.
这是我的消息源配置
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource =
new ReloadableResourceBundleMessageSource();
messageSource.setBasenames("classpath:messages/messages");
messageSource.setUseCodeAsDefaultMessage(true);
messageSource.setDefaultEncoding(StandardCharsets.UTF_8.name());
return messageSource;
}
@Bean
public LocalValidatorFactoryBean getValidator() {
LocalValidatorFactoryBean localValidator = new LocalValidatorFactoryBean();
localValidator.setValidationMessageSource(messageSource());
return localValidator;
}
相同的注释在 DTO 中有效(显示自定义消息),但是当用于请求参数时,消息是
custom.message
为什么会这样?谢谢。
解决方案
遇到错误,在消息属性中消息名称有错字。在消息属性中我有custom_message
,但我正在使用custom.message
.
推荐阅读
- python - 为什么当我使用 find_all 函数时,beautifulsoup 不会返回所有值?
- r - R 用 For 循环匹配字母和数字
- c - 调用另一个函数时的coredump
- c# - 多张卡上的 SPA 身份验证
- inner-join - 显示分配给员工的计算机 ID、名称、计算机 ID 和制造商提供的型号为“Precision”或“Edge”
- r - R Shiny 中的散点图与不是 x 或 y 轴的变量交互
- c# - 试图将 guid 列表传递给表
- geometry - 如何用mathematica在圆的周长上生成6个点?
- amazon-web-services - 从 lambda 读取弹性疼痛 - 无法连接
- flutter - 颤振飞镖错误飞镖(argument_type_not_assignable)