用Spring反应webflux生成CSV

用Spring反应webflux生成CSV,csv,spring-webflux,opencsv,spring-reactive,Csv,Spring Webflux,Opencsv,Spring Reactive,我有一个端点,它应该生成一个带有流的CSV报告。我实现了如下端点: @GetMapping(value = "/sessions/csv") public Flux<CsvEntity> getCsv() { return csvService.exportToCsv(); } @GetMapping(value=“/sessions/csv”) 公共流量getCsv(){ 返回csvService.exportToCsv(); } 现在

我有一个端点,它应该生成一个带有流的CSV报告。我实现了如下端点:

     @GetMapping(value = "/sessions/csv")
      public Flux<CsvEntity> getCsv() {
        return csvService.exportToCsv();
  }
@GetMapping(value=“/sessions/csv”)
公共流量getCsv(){
返回csvService.exportToCsv();
}
现在,我通过一个流获得响应,但我没有标题,数据显示为字段名。 我试图使用opencsv的
StatefulBeanToCsv
,但为此我需要一个编写器。当我使用servlet时,我可以使用
response.getOutputStream()
初始化编写器,但使用webflux我无法使其工作


我没有找到任何关于这个的文档。有什么帮助吗?

我不确定,但我认为您的问题是,现在您返回的是一个数据块流,因此您可以找到一种使用前端创建文件的方法,或者您必须使用旧方法发送文件。也许你可以发个单声道或者别的什么?让我知道please@fireglovesStreamingResponseBody是一个servlet类,它不能在被动上下文中使用。我唯一能想到的是通过TearrayOutputStream创建一个
,将其设置为
StatefulBeanToCsv
,如果您有一个bean,则将其写入beanToCsv,提取BAO的内容,重置BAO,现在您可以将提取的文本推送到响应中的bytebuffer。@Yuval您在这里做了什么?我目前正在研究一个类似的问题。我不确定,但我认为你的问题是,现在你返回的是一个块流,因此你可以找到一种方法,用前端创建一个文件,或者你必须用旧方法发送一个文件。也许你可以发个单声道或者别的什么?让我知道please@fireglovesStreamingResponseBody是一个servlet类,它不能在被动上下文中使用。我唯一能想到的是通过TearrayOutputStream创建一个
,将其设置为
StatefulBeanToCsv
,如果您有一个bean,则将其写入beanToCsv,提取BAO的内容,重置BAO,现在您可以将提取的文本推送到响应中的bytebuffer。@Yuval您在这里做了什么?我目前正在研究一个类似的问题。