在我当前的休息服务场景中,我需要能够向各个客户端提供本地化的错误消息。
考虑一个像void validate(Locale locale)
这样的方法,它在收到某个请求时对参数对象调用。
可以从 http 标头中挤出区域设置信息。
如何指示/配置验证器在插入违规消息时使用某种语言?
据我所知,验证器通过调用Locale.getDefault()
来选择使用的语言环境。
到目前为止,除了这篇文章之外,我找不到任何不完全符合我需求的东西(一个太长的故事而无法讲述)。
提前感谢!
根据规范,您有两种可能性:
使用interpolate(String, Context, Locale)
或实现自定义消息插值器。
可以提供自定义消息插值器(例如,插入上下文数据,或调整使用的默认区域设置)。
另请参阅:
- 例 5.10.使用消息插值器使用特定的区域设置值
- 例 5.11.可能的上下文容器 消息插值器实现