多个插入行 PostgreSQL Java Spring Webflux

Multiple insert rows PostgreSQL Java Spring Webflux

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

我正在创建一个 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
    }
]

我的问题是如何遍历 flux 然后将数据保存到数据库。

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

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

如果您没有使用 spring 数据,请告诉我,我会更新此答案。