使用Java rest Web服务,处理错误消息国际化和本地化的最佳方法是什么? 我没有jsp页面或任何UI。我有Web服务,我必须根据请求中的区域设置返回错误代码和错误消息。
我检查了jErr框架,但是找不到任何其他框架。还有其他选择吗?
请帮助我做最好的方法。
我查看了这篇帖子How to externalize error messages,这与我的问题非常相似,但我没有任何客户端编码。所以我真的怀疑我是否可以使用资源包
答案 0 :(得分:1)
ResourceBundle不限于在客户端代码中使用。它是一个通用的抽象,无论它在何处使用。
您可以拥有多个属性文件 1. ApplicationMessages.properties 2. ApplicationMessages_fr_FR.properties(法语)
你可以在你的错误解析器逻辑中
ResourceBundle bundle = ResourceBundle.getBundle("ApplicationMessages",The locale you get from request);
String errorMsg = bundle.getString("502");
无论你喜欢什么,都要使用这个errorMsg。将其设置为响应或记录等。
答案 1 :(得分:0)
您可以这样使用ResourceBundle
:
Locale locale = new Locale("fr", "CA");
ResourceBundle errors = ResourceBundle.getBundle("errors", locale);
System.out.println(errors.getString("user.notFound"));
首先创建一个Locale
实例(您说您在请求中获取了区域设置),然后将其与要加载的资源包的名称一起传递给ResourceBundle.getBundle()
方法。
参考: