Динамически изменить тип возврата сервиса RESTEasy - PullRequest
4 голосов
/ 24 сентября 2010

Могу ли я изменить значение параметра аннотации @Produces в моих службах RESTEasy ??
Моя задача - интегрировать многоформатные отчеты в существующую систему отчетов. Поэтому динамическое изменение параметра аннотации @Produces мне очень поможет.
Заранее спасибо!

Ответы [ 2 ]

6 голосов
/ 24 сентября 2010

Заставьте ваш метод вернуть объект Response и попробуйте что-то вроде этого;

int status = 200;
String type = MediaType.APPLICATION_XML;
String response = "<hello>world</hello>";
return Response.status(status).type(type).entity(response).build();

Я думаю, что тип в ответе переопределит то, что вы аннотировали, но я не проверял его.

3 голосов
/ 24 сентября 2010

Вы можете указать несколько записей в @Produces.В вашем запросе должен быть указан формат (в виде MIME), который вы хотите использовать.

Пример:

@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
...