Am I able to change the value of @Produces annotation parameter in my RESTEasy services??
The task I'm given is to integrate multiple format reporting to an existing reporting system.
So changing the @Produces annotation parameter dynamically would help me a lot.
Thanks in advance!
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Make your method return a Response
object and try something like this;
int status = 200;
String type = MediaType.APPLICATION_XML;
String response = "<hello>world</hello>";
return Response.status(status).type(type).entity(response).build();
I think the type in the response will override what you annotated, but I haven't tested it.
回答2:
You can specify several entries in @Produces. Your request should mention which format (as mime type) do you want as the result.
Example:
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })