当前位置: 首页 > 知识库问答 >
问题:

本地化Spring Boot验证消息中未解析消息参数

束阳旭
2023-03-14

我正在使用Spring Boot 2.1.8构建一个项目,我的POM中有spring-boot-starter-web,我可以看到Maven将hibernate-validator 6.0.17拉到类路径上。

我在资源文件夹中有我的消息,它们似乎可以正确地查找,这样当我更改区域设置时,Spring就可以从正确的文件中加载消息。

my@RESTController中的相关方法采用@Valid和@RequestBody注释的DTO。当DTO验证失败时,它会触发ResponseEntityExceptionHandler#HandleMethodArgumentNotValid()在我的控制器通知中触发。

你能建议一下吗?

共有1个答案

公良高刚
2023-03-14

这个答案帮助我很大程度上理解了问题所在。

其要点是,Hibernate解析的消息最终在BindingResult中成为默认消息。

因此,人们应该:

    null
  String msg = messageSource.getMessage(e.getDefaultMessage(), e.getArguments(), locale);
String msg = messageSource.getMessage(e, locale);
 类似资料:
  • 我昨天让它工作,然后我做了一些事情,现在我一直试图修复它几个小时,我只是无法让它工作了。 我有一个包含

  • 主要内容:参数化日志的优势,两个参数变体,多个参数变体正如本教程前面所讨论的,SLF4J提供了对参数化日志消息的支持。可以在消息中使用参数,并在稍后的同一语句中将值传递给它们。 语法 如下所示,需要在消息(String)中的任何位置使用占位符(),稍后可以在对象形式中为占位符传递值,并使用逗号分隔消息和值。 示例 以下示例演示使用SLF4J进行参数化日志记录(使用单个参数)。 执行时,上述程序生成以下输出 - 参数化日志的优势 在Java中,如果需要

  • 问题内容: 大家好 这是我的要求信息: 我尝试验证与body标签相关的。有像和这样的标签,这对我来说真的很混乱。我的问题是如何验证身体部位?首先,我应该获得什么标签来开始验证 要不就 ??? 我必须执行哪些操作(规范化/转换/加密)??? 任何帮助表示赞赏。提前致谢。 问题答案: 解决方案是: 哪里 并向X509KeySelector提供验证签名所需的公钥。

  • 我试图覆盖默认的Hibernate验证器消息,但没有成功。我已经为几个文本使用了一个资源包,它工作得很好。问题在于验证器的消息。 详细内容: 我创建了以下文件:ValidationMessages\u de.properties并将其放置在\src\main\resources\translations\ValidationMessages\u de.properties下。该文件具有以下资源:o

  • 我试图理解spring中的验证消息和国际化机制,并编写了以下代码: Bean配置: 资源文件系统结构: 消息。属性: messages\u it。属性: 当我提交表单时,得到的错误消息是:{m1}。我是否缺少一些代码?

  • 向你问好,彼得