【问题标题】:Multiple insert rows PostgreSQL Java Spring Webflux多个插入行 PostgreSQL Java Spring Webflux
【发布时间】:2020-12-28 18:03:45
【问题描述】:

我是 Spring WebFlux 的新手,我正在尝试向 DB 插入多行。

我正在创建一个用于将数据插入数据库的 REST API。

我有一个保存 Flux 对象的服务。

public Flux<FileUpload> create(FileUpload fileUpload) {
       Flux<FileUpload> attachments = Flux.just(fileUpload)
               .map(upload -> {
                   new FileUpload(upload);
                   this.fileUploadRepository.save(upload);

                   return upload;
               });

       return attachments;
}

我有一个用于 Post 请求的 RestController。

@PostMapping()
    public Flux<FileUpload> saveFile(@RequestBody FileUpload fileUpload) {
        return this.fileUploadService.create(fileUpload);
    }

然后我通过 Postman 中的 requestbody 传递这个 Json

[
    {
        "filename": "test.pdf",
        "task_id": 2,
        "e_tag": 1234567890
    },
    {
        "filename": "test2.pdf",
        "task_id": 2,
        "e_tag": 0987654321
    }
]

我的问题是如何迭代通量然后将数据保存到数据库中。

【问题讨论】:

    标签: java spring-boot reactive-programming spring-webflux


    【解决方案1】:

    如果您使用的是 spring 数据,则 ReactiveCrudRepository 公开一个接受 Flux 作为参数并将所有内容保存到数据库的方法。

    <S extends T> Flux<S> saveAll(Publisher<S> entityStream);
    

    如果您不使用弹簧数据,请告诉我,我会更新此答案。

    【讨论】:

      猜你喜欢
      • 2015-11-14
      • 2019-10-21
      • 2021-05-12
      • 1970-01-01
      • 2021-08-29
      • 2019-12-20
      • 2016-08-24
      • 1970-01-01
      • 2018-09-21
      相关资源
      最近更新 更多