Bean 验证:如何以编程方式本地化消息



在我当前的休息服务场景中,我需要能够向各个客户端提供本地化的错误消息。

考虑一个像void validate(Locale locale)这样的方法,它在收到某个请求时对参数对象调用。

可以从 http 标头中挤出区域设置信息。

如何指示/配置验证器在插入违规消息时使用某种语言?

据我所知,验证器通过调用Locale.getDefault()来选择使用的语言环境。

到目前为止,除了这篇文章之外,我找不到任何不完全符合我需求的东西(一个太长的故事而无法讲述)。

提前感谢!

根据规范,您有两种可能性:

使用interpolate(String, Context, Locale)或实现自定义消息插值器。

可以提供自定义消息插值器(例如,插入上下文数据,或调整使用的默认区域设置)。

另请参阅:

  • 例 5.10.使用消息插值器使用特定的区域设置值
  • 例 5.11.可能的上下文容器 消息插值器实现

最新更新