2017-12-21 22 views
0

ReactiveMongoRepository를 확장 한 MovieRepository가 있습니다. 반응적인 방법으로 단일 POJO를 저장하려고합니다. 그러나 ReactiveMongoRepository는 Mono 또는 Publisher에 대한 저장 방법을 제공하지 않습니다. 나는 block() 메서드를 사용하거나 ReactiveMongoRepository에서 saveAll 메서드를 사용해야합니다.왜 Spring ReactiveMongoRepository가 Mono에 대한 저장 방법을 가지고 있지 않습니까?

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))); 
} 

이런 종류의 문제를 해결하는 더 좋은 방법이 있습니까? 블록 사용 방법은 반응성 프로그래밍에 좋은 아이디어라고 생각하지 않습니다.

답변

2

Mono<Movie> movieMonoSaved = movieMono.flatMap(movieRepository::save); 
return ServerResponse.status(HttpStatus.CREATED).body(movieMonoSaved, Movie.class); 
같은 뭔가를 할 수