Rest - 响应中的 MediaType 与请求中的相同
Rest - Same MediaType in response as in request
我有一个使用 XML
和 JSON
的 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
。
我有一个使用 XML
和 JSON
的 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
。