从一组代码中解析可用消息的简便方法

时间:2017-01-17 17:41:19

标签: java spring spring-mvc spring-boot

我正在开发一个Spring MVC项目(Spring Boot v1.4.2),我需要从本地化的np.corrcoef文件中解析一些错误代码。

例如,我得到的验证错误之一是:

message.properties

如您所见,从基本错误代码(org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'signUpDTO' on field 'email': rejected value [email@hotmail.com]; codes [EmailAlreadyUsed.signup.signUpDTO.email,EmailAlreadyUsed.signup.email,EmailAlreadyUsed.signup.java.lang.String,EmailAlreadyUsed.signup]; arguments []; default message [null] )开始生成错误代码列表:

EmailAlreadyUsed.signup

我想检查一下codes [EmailAlreadyUsed.signup.signUpDTO.email,EmailAlreadyUsed.signup.email,EmailAlreadyUsed.signup.java.lang.String,EmailAlreadyUsed.signup]; 中是否定义了这些代码,并解析与之关联的消息。

目前我正在使用此实用程序类来解析单个代码:

message.properties

Spring中是否有一些开箱即用的实用程序,或者我是否应该遍历每个错误代码?

1 个答案:

答案 0 :(得分:0)

我刚刚发现MessageSource接口声明了这个方法:

getMessage(MessageSourceResolvable resolvable, Locale locale)

接受MessageSourceResolvable对象(因此Spring内部构建的任何验证错误)并以类似于我需要的方式工作。

它会为验证错误生成每个错误代码,并检查消息资源包中是否至少声明了一条关联的消息。