项目手记----Mono是啥?

本文介绍了Mono在项目中的使用,它是一个Reactor库的一部分,用于实现响应式编程。Mono不仅限于消息订阅,还可以用于获取token等场景。在给定的代码示例中, Mono.fromSupplier() 被用来根据特定条件调用方法获取Customer对象,展示了其灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新搭建的项目用到了Mono,第一次碰到。这是什么?搜索出来一堆文章,以往使用场景就是消息订阅。可以看这篇文章Mono入门
它属于Reactor(响应式编程),可以适用观察者模式任何场景,与lamda一起使用,不局限消息订阅场景。比如,我们项目用它获取token。

  private Mono<Customer> getCustomer(HttpHeaders headers, String authorization,
      String tenant) {
    String userToken = StringUtils.defaultIfBlank(headers.getFirst("test-user-token"),
        authorization);
    return Mono.fromSupplier(() -> {
      if (StringUtils.isBlank(userToken)) {
        return userTokenHelper.visitorLogin(null);
      }
      return userTokenHelper.getCustomer(userToken, tenant);
    });
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值