动态更改RESTEasy服务返回类型

时间:2010-09-24 11:56:07

标签: java annotations resteasy

我可以在RESTEasy服务中更改@Produces注释参数的值吗? 我给出的任务是将多种格式报告集成到现有的报告系统中。 因此动态更改@Produces注释参数会对我有很大帮助 提前谢谢!

2 个答案:

答案 0 :(得分:6)

让你的方法返回一个Response对象并尝试这样的东西;

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

我认为响应中的类型会覆盖您注释的内容,但我还没有对其进行测试。

答案 1 :(得分:3)

您可以在@Produces中指定多个条目。您的请求应该提到您想要的格式(作为mime类型)。

示例:

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