SpringWebFlux-如何返回与Mono源不同的类型?

SpringWebFlux-如何返回与Mono源不同的类型?,spring,rx-java,spring-webflux,Spring,Rx Java,Spring Webflux,在使用SpringReactor进行第一步时,我正在努力让RestController如何返回不同的bean作为输入参数。我有以下方法: @PostMapping public Mono<Site> create( @RequestBody Publisher<Site> site ) { return Mono. from( site ). doOnNext( repository::save); } @Post

在使用SpringReactor进行第一步时,我正在努力让RestController如何返回不同的bean作为输入参数。我有以下方法:

@PostMapping
public Mono<Site> create( @RequestBody Publisher<Site> site )
{
    return Mono.
            from( site ).
            doOnNext( repository::save);
}
@PostMapping
公共Mono创建(@RequestBody发布者站点)
{
返回单声道。
从(地点)。
doOnNext(存储库::save);
}
假设repository::save返回一个布尔值来表示成功或失败,那么如何获取此返回值并使用它返回一些自定义DTO作为响应呢?最后一个方法看起来像:

@PostMapping
public Mono<SomeResponse> create( @RequestBody Publisher<Site> site )
{
    return Mono.
            from( site ).
            doOnNext( repository::save)
            .someCodeThatGetTheReturnedValueAndReturnsSomeResponse;
}
@PostMapping
公共Mono创建(@RequestBody发布者站点)
{
返回单声道。
从(地点)。
doOnNext(存储库::保存)
.某个代码已转换为值并转换为其他响应;
}
使用和进行转换

@PostMapping
public Mono<SomeResponse> create( @RequestBody Publisher<Site> site )
{
    return Mono.
            from( site )
            .map(repository::save)
            .map(booleanVar -> createSomeResponseFromBoolean(booleanVar));
}
@PostMapping
公共Mono创建(@RequestBody发布者站点)
{
返回单声道。
从(现场)
.map(存储库::保存)
.map(booleanVar->createSomeResponseFromBoolean(booleanVar));
}
使用和进行转换

@PostMapping
public Mono<SomeResponse> create( @RequestBody Publisher<Site> site )
{
    return Mono.
            from( site )
            .map(repository::save)
            .map(booleanVar -> createSomeResponseFromBoolean(booleanVar));
}
@PostMapping
公共Mono创建(@RequestBody发布者站点)
{
返回单声道。
从(现场)
.map(存储库::保存)
.map(booleanVar->createSomeResponseFromBoolean(booleanVar));
}

Mono::map方法通常用于转换no::map方法通常用于转换OVE+1但如果repository.save返回Mono use。然后()在+1以上,但如果repository.save返回Mono use。然后()