首页 > 其他分享 >webflux 把返回的Flux对象转换成Mono对象

webflux 把返回的Flux对象转换成Mono对象

时间:2022-10-27 20:46:02浏览次数:72  
标签:转换成 people 对象 Mono webflux Flux data

在使用一个对象列表时用Flux

public Mono<ServerResponse> listPeople(ServerRequest request) { 
        Flux<Person> people = repository.allPeople();
        return ok().contentType(APPLICATION_JSON).body(people, Person.class);
    }

但是当需要返回一个自定义的json数据时,就需要把Flux转换成Mono,使用collectList()转换为一个对象列表,代码如下:

public Mono<ServerResponse> getTitle(ServerRequest request) {
        Mono<List<Title>> titleList = feignService.getTitle().collectList();
        return titleList.map(data -> ReactiveResponse.builder()
                            .message(Message.SUCCESS)
                            .status(HttpStatus.SUCCESS)
                            .data(data)
                            .build()
                ).flatMap(data -> ServerResponse.ok().contentType(MediaType.APPLICATION_JSON)
                                    .bodyValue(data));

    }


来自为知笔记(Wiz)

标签:转换成,people,对象,Mono,webflux,Flux,data
From: https://www.cnblogs.com/baiyifengyun/p/16833668.html

相关文章