避免使用带有助焊剂的spring webclient多次调用API

问题描述 投票:0回答:2

这两个电话都是客户端http api:

Flux<SavingsViewFilter> views = savingsApi.getViewFilterSavings(viewId);
            Flux<Group> groups = groupsApi.getAllGroups();

并返回助焊剂

requestBodySpec.retrieve().bodyToFlux(returnType);

我需要根据eacg Flux<Group>中的值过滤view.getGroupId()中的元素

        return views.flatMap(view ->
                groups
                        .filter(group -> Objects.equals(group.getGroupId(), view.getGroupId()))
                        .flatMap(group -> Flux.just(DepositAccount.builder()
                                .agencyName(group.getGroupName())
                                .settlementAccount(view.getName())
                                .build())));

它正在工作,但是问题在于它正在为每个视图对象做,向getAllGroups又发送了一个HTTP请求。

如何避免多次请求getAllGroups?

spring-webflux project-reactor reactor spring-webclient
2个回答
0
投票

问题是您要为视图的每个元素订阅组。


0
投票

真的,这不是正确的问题,需要仔细考虑。

© www.soinside.com 2019 - 2024. All rights reserved.