休息 API 并附上 Json 和一个 csv 文件

Rest API with both Json and a csv file as attachment

我们能否同时提供 Json 响应和 csv 文件作为 Rest 服务的附件?

我写了如下代码,但我也确定它不会起作用。

            ResponseBuilder responseBuilder = null;
        responseBuilder = Response.status(200).type(MediaType.APPLICATION_JSON)
                .entity(parseOrganizations(getOrganizationsResponseMashery(limit, offset)));
         responseBuilder.type(MediaType.TEXT_PLAIN).entity(file).header("Content-Disposition", "attachment; filename=Organizations.csv");
        return responseBuilder.build();

第二个 setter 用于实体文件,基本上覆盖了我之前作为实体插入的 json 内容。所以请推荐。

对,没错,一个HTTP响应应该是单一类型的。如果您告诉您 return JSON,那么客户将期待 JSON object,而不是文件。同样,如果你说你 return 一个文件,它会期待一个文件。

客户端将根据响应 headers 中声明的 return 类型采取操作(例如:将 JSON object 映射到 class 实例等),因此明确这一点很重要。

在 springboot 的情况下,似乎最后一次调用 type 方法覆盖了之前的方法。