Если вы хотите сделать это нейтральным способом реализации JAX-RS, вы можете сбросить Content-Type в MessageBodyWriter.Примерно так:
public void writeTo(Object obj,
Class<?> cls,
Type type,
Annotation[] annotations,
MediaType mt,
MultivaluedMap<String, Object> responseHttpHeaders,
OutputStream stream) throws IOException {
responseHttpHeaders.putSingle(javax.ws.rs.core.HttpHeaders.CONTENT_TYPE, mt.toString() + ";charset=UTF-8");
}
Если у вас есть разные наборы символов, кроме UTF-8 для каждого метода ресурса, вы можете создать собственную аннотацию и добавить ее к каждому методу ресурса.Затем попробуйте использовать параметр annotations в методе writeTo ().
Just FYI, Apache Wink поддерживает использование charset и других атрибутов для типов носителей.Я надеюсь, что будущие изменения спецификации JAX-RS облегчат это.