0

I use webflux with r2dbc.
I try to save in two tables in one service, but there is only one actual save.
There may be a way to do flatmap twice in the handler, but I want to use transaction in service.

Handler.java
Mono<ServerResponse> save(ServerRequest request) {
        return request.bodyToMono(Todo.class)
            .flatMap(todo-> todoService.save(todo))
            .flatMap(todo -> ok().build());
    }
TodoService.java
public Mono<Todo> save(Todo todo) { 
    todoLogRepository.save(getTodoLog(todo)); // this now work
    return todoRepository.save(todo);
}
Router.java
@Bean
public RouterFunction<?> routes(InvestmentHandler handler) {
    return route(POST("/save"), handler::save);
}
HooMin.Lee
  • 115
  • 1
  • 8

0 Answers0