【问题标题】:Spring Boot: How to return a file and a textSpring Boot:如何返回文件和文本
【发布时间】:2019-12-16 16:50:37
【问题描述】:

我是 Spring Boot 的新手。我想将 JSON 作为纯文本返回,并且可以选择将 JSON 文件作为下载返回(两者都可以通过 RequestParam 进行配置)。

我设法获得了纯文本(通过返回带有字符串值作为正文的ResponseEntity<String>)或下载的文件(通过返回带有ByteArrayResource 作为正文的ResponsEntity<Resource>),但不能同时获得两者。

我只想使用一种方法,因为我在这种方法中做了一些昂贵的事情,我不想这样做两次。

有人知道怎么做吗?是否有某种 Spring 数据结构允许打包多个 ResponseEntity 实例,这些实例可以由带有 RequestMapping 的方法返回?

【问题讨论】:

  • 你应该有两个端点,返回不同的对象。在这种情况下,字符串不是一个好的抽象。

标签: spring spring-boot


【解决方案1】:

同时返回file和json不是一个好主意,而且很困难。

如果方法成本高,能否将文件保存到临时位置下载,然后将文件的下载url添加到json中,然后返回给客户端。

【讨论】:

  • 谢谢。我选择使用单独的端点来获取字符串和下载文件。对于该文件,我设置了一个数据库,用于存储在调用字符串端点期间生成的文件。当我使用文件 ID 调用下载端点时,文件被下载。
猜你喜欢
  • 1970-01-01
  • 2022-10-25
  • 2018-10-16
  • 2021-09-18
  • 2021-10-06
  • 2021-11-01
  • 1970-01-01
  • 2015-05-19
  • 2019-05-10
相关资源
最近更新 更多