我正在编写一个Spring Boot SwaggerOpen API,它将下载/获取CSV文件模板。produces = MediaType应该是什么?我在下面找不到CSV。
produces = MediaType
7nbnzgx91#
您可以直接输入字符串,而不使用mediaType。例如:produces = "text/csv"。不过,text/plain应该可以很好地工作,因为CSV文件只是逗号分隔的文本。
produces = "text/csv"
text/plain
mnowg1ta2#
当您从API以字节数组(ResponseEntity<byte[]>)形式返回文件时,也可以使用octet-stream。此外,正如@Orfeas提到的,您不必使用MediaType中的值。此外,Products不是必需的,因此您不必指定它。在本例中,swagger生成的遗嘱如下所示:
responses: 200: description: "Data was successfully sent" schema: type: "array" items: type: "string" format: "byte"
在UI端,如果您使用的是Java脚本F.E.或任何Java脚本框架,您都可以使用Blob类型来处理来自服务器的响应。
也许有更好的解决方案,但我通常使用这个。
2条答案
按热度按时间7nbnzgx91#
您可以直接输入字符串,而不使用mediaType。例如:
produces = "text/csv"
。不过,text/plain
应该可以很好地工作,因为CSV文件只是逗号分隔的文本。mnowg1ta2#
当您从API以字节数组(ResponseEntity<byte[]>)形式返回文件时,也可以使用octet-stream。此外,正如@Orfeas提到的,您不必使用MediaType中的值。此外,Products不是必需的,因此您不必指定它。在本例中,swagger生成的遗嘱如下所示:
在UI端,如果您使用的是Java脚本F.E.或任何Java脚本框架,您都可以使用Blob类型来处理来自服务器的响应。
也许有更好的解决方案,但我通常使用这个。