[英]Rest API with both Json and a csv file as attachment
我们可以在 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();
带有文件的实体的第二个setter,基本上覆盖了我之前作为实体插入的json内容。 所以请建议。
是的,没错,HTTP 响应应该是单一类型的。 如果你告诉你返回 JSON,那么客户端将期待一个 JSON 对象,而不是一个文件。 同样,如果你说你返回一个文件,它会期待一个文件。
客户端将根据响应标头中声明的返回类型采取行动(例如:将 JSON 对象映射到类实例等),因此明确这一点很重要。
在 springboot 的情况下,对type
方法的最后一次调用似乎覆盖了前一次调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.