为什么Spring会对MongoRepository作出反应';你没有保存Mono的方法吗?
我有一个电影场景,它扩展了ReactiveMongoRepository。我想以一种被动的方式保存一个POJO。但ReactiveMongoRepository不为Mono或Publisher提供保存方法。我必须使用为什么Spring会对MongoRepository作出反应';你没有保存Mono的方法吗?,spring,mongodb,reactive-programming,spring-data-mongodb,project-reactor,Spring,Mongodb,Reactive Programming,Spring Data Mongodb,Project Reactor,我有一个电影场景,它扩展了ReactiveMongoRepository。我想以一种被动的方式保存一个POJO。但ReactiveMongoRepository不为Mono或Publisher提供保存方法。我必须使用block()方法,或者在ReactiveMongoRepository中使用saveAll方法 公共Mono创建(服务器请求){ Mono movieMono=request.bodytomino(Movie.class); 返回movieRepository.save(movie
block()
方法,或者在ReactiveMongoRepository中使用saveAll
方法
公共Mono创建(服务器请求){
Mono movieMono=request.bodytomino(Movie.class);
返回movieRepository.save(movieMono.block())//
.flatMap((电影)->ServerResponse.ok().body(fromObject(电影));
}
有没有更好的办法来解决这类问题?我不认为使用块方法是反应式编程的好主意。您可以这样做
Mono<Movie> movieMonoSaved = movieMono.flatMap(movieRepository::save);
return ServerResponse.status(HttpStatus.CREATED).body(movieMonoSaved, Movie.class);
Mono movieMonoSaved=movieMono.flatMap(movieRepository::save);
返回ServerResponse.status(HttpStatus.CREATED).body(movieMonoSaved,Movie.class);
一次保存
看起来仍然很有用。我们提出要讨论增加一个的可能性。