【问题标题】:Micronaut -> Merge the results of 2 Async HttpClient CallsMicronaut -> 合并 2 个异步 HttpClient 调用的结果
【发布时间】:2020-05-02 03:00:50
【问题描述】:

我一直在试验 Micronaut 的各种功能。我有几个问题。

1) 我对各种 API 进行了 2 次异步调用。如何像在 RxJava Observable.zip 中那样组合 2 个 API 的结果?

2) 我正在使用声明式客户端连接到 API。在这种情况下如何捕获异常?在 Netflix Feign Client 中,我们使用 FallBack Factory。我如何在 Micronauts 中做同样的事情。

【问题讨论】:

    标签: micronaut micronaut-client


    【解决方案1】:

    一个解决方案可能是 -

    如果两个 API 可以并行调用并且是独占的,则可以利用 Java 9 功能“可完成的未来”并在结果可用后加入记录。

    不过,这是纯 java API,与 micronaut 框架关系不大。

    关于使用 micronaut 声明式客户端,您可以选择捕获 HttpClientException。

    如果您想对 API 的故障进行更进一步的分类,您可以使用 HttpClientResponseException 并使用字段 errorType 使用来自 API 的正确错误响应正文注释您的声明式客户端。

    How to map errorType using Micronaut client annotation

    【讨论】:

      猜你喜欢
      • 2013-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 2016-05-14
      • 1970-01-01
      相关资源
      最近更新 更多