如何使用reactor.core.publisher Mono<T>或Flux进行<T>继承?



我在响应式编程方面很新,我正在使用最新的Spring 5 Webflux框架并使用如此项目反应器。我面临一个问题,我想将 Mono 与此继承模式一起使用:

客户端扩展用户

我创建了这种方法:

public Mono<User> saveUser(Mono<User> userToSave)
{
    return userToSave.doOnNext(u -> {
        // Some stuff
    });
}

我现在无法将此方法与 Mono<客户端>一起使用作为参数,尽管客户端从用户扩展。

Mono<Client> client = ...
instance.saveUser(client); <-- Error

我怎样才能做到这一点?我尝试不好的事情吗?

非常感谢

这是一个 java 继承"问题":你需要将你的方法声明为:

public Mono<User> saveUser(Mono<? extends User> userToSave)

(这称为协变泛型类型。 指导意见是"对消费内容更加宽容",因为经验法则消费== extends (

最新更新