gpt4 book ai didi

spring - 为什么 Spring ReactiveMongoRepository 没有 Mono 的保存方法?

转载 作者:可可西里 更新时间:2023-11-01 09:57:38 25 4
gpt4 key购买 nike

我有一个扩展了 ReactiveMongoRepository 的 MovieRepository。我想以 react 方式保存单个 POJO。但是 ReactiveMongoRepository 没有为 Mono 或 Publisher 提供保存方法。我必须在 ReactiveMongoRepository 中使用 block() 方法或使用 saveAll 方法。

public Mono<ServerResponse> create(ServerRequest request) {

Mono<Movie> movieMono = request.bodyToMono(Movie.class);
return movieRepository.save(movieMono.block()) //
.flatMap((movie) -> ServerResponse.ok().body(fromObject(movie)));
}

有没有更好的方法来解决这类问题?我不认为使用 block 方法是响应式编程的好主意。

最佳答案

你可以这样做

 Mono<Movie> movieMonoSaved = movieMono.flatMap(movieRepository::save);
return ServerResponse.status(HttpStatus.CREATED).body(movieMonoSaved, Movie.class);

关于spring - 为什么 Spring ReactiveMongoRepository 没有 Mono 的保存方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47918441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com