0

我正在调用外部服务来获取externalId,如果该服务不起作用,我所需要的只是填充值null

return externalClient.getExternalId() //returns Mono<String> or Mono.empty()
                    .map(id -> {
                        //in case of empty stream, i need call entity.setExternalId(null);
                        entity.setExternalId(id);
                        return entity;
                    });
4

1 回答 1

0

尝试以下操作:

return externalClient.getExternalId()
                     .map(id -> {
                        entity.setExternalId(id);
                        return entity;
                     })
                     .switchIfEmpty(() -> {
                        entity.setExternalId(null);
                        return Mono.just(entity);
                     });
于 2021-10-06T09:59:26.040 回答