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

标签 java rest jersey

我有一个使用 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 形式传递。

关于java - Rest - 响应中的 MediaType 与请求中的 MediaType 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61592292/

相关文章:

javascript - 为什么 ngResource 在收到响应后将保存的对象修改为这个 : g {0: "O", 1 : "K", ..}

java - JAX-RS 中使用 @Required 注解的必需 @QueryParam 在 ContainerRequestFilter 中不起作用

java - REST GET 列表为 JSON

java - 没有这样的表 Sqlite JDBC

java - 在 Spark 中配置函数/lambda 序列化

java - 将 String 转换为 Long 时出现 Scala NumberFormatException?

java - 对使用同步适配器和内容提供程序同步多个表感到困惑

javax.ws.rs 按目标进行 REST 测试 - 在哪里获取或设置服务器地址?

java - REST API 无法以 JSON 格式工作

java - 如何在JavaFX中克隆场景图中的节点?