有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

带有Json和csv文件作为附件的java Rest API

我们可以在Rest服务中提供Json响应和csv文件作为附件吗

我已经写了下面这样的代码,但我也确信它不会起作用

            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();

entity with file的第二个setter基本上覆盖了我之前作为entity插入的json内容。所以请提出建议


共 (1) 个答案

  1. # 1 楼答案

    是的,没错,HTTP响应应该是单一类型的。如果您告诉您返回JSON,那么客户端将需要一个JSON对象,而不是一个文件。同样,如果你说你返回了一个文件,它也会期待一个文件

    客户机将根据响应头中声明的返回类型执行操作(例如:将JSON对象映射到类实例等),因此这一点很重要,没有歧义

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