Spring Boot、下载CSV文件、Swagger制作媒体类型

kqqjbcuj  于 2022-10-04  发布在  Spring
关注(0)|答案(2)|浏览(280)

我正在编写一个Spring Boot SwaggerOpen API,它将下载/获取CSV文件模板。produces = MediaType应该是什么?我在下面找不到CSV。

7nbnzgx9

7nbnzgx91#

您可以直接输入字符串,而不使用mediaType。例如:produces = "text/csv"。不过,text/plain应该可以很好地工作,因为CSV文件只是逗号分隔的文本。

mnowg1ta

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类型来处理来自服务器的响应。

也许有更好的解决方案,但我通常使用这个。

相关问题