【问题标题】:Dynamically change RESTEasy service return type动态改变 RESTEasy 服务返回类型
【发布时间】:2010-09-24 11:56:07
【问题描述】:

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

【问题讨论】:

    标签: java annotations resteasy


    【解决方案1】:

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

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

    我认为响应中的类型会覆盖你注释的内容,但我还没有测试过。

    【讨论】:

    • 是的......它覆盖了带注释的类型。
    【解决方案2】:

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

    例子:

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

    【讨论】:

    • 谢谢南达!似乎是一个不错的解决方案...这里的 PDF 怎么样??
    猜你喜欢
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多