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 エンコーディングを設定できるようにするために必要です。
別の方法はありますか?
ありがとう