Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用SpringWebFlux反应式存储库会产生嵌套的Mono对象_Java_Spring_Spring Webflux_Reactor - Fatal编程技术网

Java 使用SpringWebFlux反应式存储库会产生嵌套的Mono对象

Java 使用SpringWebFlux反应式存储库会产生嵌套的Mono对象,java,spring,spring-webflux,reactor,Java,Spring,Spring Webflux,Reactor,以上三行代码生成Mono。如何将其转换为单声道或避免出现这种情况?这无关紧要。它是一个反应流编程模型,并通过ProjectReactor实现其API。请先熟悉一下: 您需要的是Mono的flatMap操作符: applicationDataRepository.findById(100L).map(o -> { o.setName("changed name"); return applicationDataRepository.save(o); })

以上三行代码生成
Mono
。如何将其转换为单声道或避免出现这种情况?

这无关紧要。它是一个反应流编程模型,并通过ProjectReactor实现其API。请先熟悉一下:

您需要的是
Mono
flatMap
操作符:

applicationDataRepository.findById(100L).map(o -> {
    o.setName("changed name");
    return applicationDataRepository.save(o);
})
/**
*异步转换此{@link Mono}发出的项,并返回
*由另一个{@link Mono}发出的值(可能更改值类型)。
*
*
* 
*
*@param transformer动态绑定新{@link Mono}的函数
*@param结果类型已绑定
*
*@返回具有异步映射值的新{@link Mono}。
*/

公共最终单平面地图(功能该操作不应该是
flatMap
applicationDataRepository.findById(100L).map(o -> {
    o.setName("changed name");
    return applicationDataRepository.save(o);
})
/**
 * Transform the item emitted by this {@link Mono} asynchronously, returning the
 * value emitted by another {@link Mono} (possibly changing the value type).
 *
 * <p>
 * <img class="marble" src="doc-files/marbles/flatMapForMono.svg" alt="">
 *
 * @param transformer the function to dynamically bind a new {@link Mono}
 * @param <R> the result type bound
 *
 * @return a new {@link Mono} with an asynchronously mapped value.
 */
public final <R> Mono<R> flatMap(Function<? super T, ? extends Mono<? extends R>>
        transformer) {