如何使用 webflux 和 r2dbc 在一个请求中保存两次?

问题描述

我在 r2dbc 中使用 webflux。
我尝试在一个服务中保存两个表,但只有一个实际保存。
可能有一种方法可以在处理程序中执行两次 flatmap,但我想在服务中使用事务。

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)