Rest - 响应中的 MediaType 与请求中的相同

Rest - Same MediaType in response as in request

我有一个使用 XMLJSON 的 Web 服务。
输出当前始终在 XML.
是否可以在与消耗的 MediaType 相同的 MediaType 中生成响应?

我需要的是:
请求是XML,响应也是XML
请求是JSON,响应也是JSON

我的代码:

@Path("/calculate")
public class CalculationService
{
    @POST
    @Path("/magic")
    @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
    @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
    public Output calculate(Input input)
    {
        Output output = new Output();
        output.setValue1(...);
        output.setValue2(...);
        output.setValue3(...);

        return output;
    }
}

默认情况下,Web 服务将响应传递为 MediaType.APPLICATION_XML

可以通过设置 Accept-Header 来控制 MediaType。

通过设置值 Accept: application/json,将响应传递为 MediaType.APPLICATION_JSON