我想知道是否可以使用 Jersey API 在运行时设置响应字符集。
如果我这样设置:
public class MyRESTClass
{
private static final String encoding = "UTF-8";
@GET
@Produces(MediaType.APPLICATION_JSON + ";charset=" + enconding)
public String Call(@Context final HttpServletRequest servletReq, @QueryParam("somePar") String somePar)
{
...
}
}
...没关系
但是,如果我尝试像这样设置它:
public class MyRESTClass
{
private static final String encoding = getEncoding();
public static final String getEncoding()
{
final String encoding = "UTF-8";
return encoding;
}
@GET
@Produces(MediaType.APPLICATION_JSON + ";charset=" + enconding)
public String Call(@Context final HttpServletRequest servletReq, @QueryParam("somePar") String somePar)
{
...
}
}
我得到编译错误:
注释属性 Produces.value 的值必须是常量表达式
我需要这个,所以我可以使用配置文件设置我的应用程序的 REST 编码。
还有其他方法吗?
谢谢