【问题标题】:How do I get clientId of the client that made the request that triggered the Client filter?如何获取发出触发客户端过滤器的请求的客户端的 clientId?
【发布时间】:2020-08-11 12:44:40
【问题描述】:

我正在编写一个应用程序,我想在其中根据一些配置丰富一个传出请求。 配置示例

clients:
  clientA:
    header1: value1
    header2: value2
  client2:
    header1: value3
    header2: value4

为此,我有两个目标:

  • 扩展本机配置以添加更多信息
  • 在 ClientFilter 中,检索此信息并添加到请求中

谈第二点: 1-有没有办法让我获得在过滤器上发出请求的客户端的 clientId?或者我可以注入客户端本身吗? 2- 有没有办法让我根据 clientId 加载适当的配置?

【问题讨论】:

  • 您能否详细说明“丰富传出请求”的含义?根据您要执行的操作,过滤器可能不是唯一或最佳选择。
  • @JeffScottBrown 抱歉耽搁了。想法如下:我的系统向其他系统发出 http 请求。根据客户端的不同,我应该使用为我的应用程序生成的令牌,或者我应该委托用户的令牌在目标服务上进行身份验证。我想使用过滤器将令牌添加到传出请求中。

标签: micronaut micronaut-client


【解决方案1】:

解决方案: 有一个请求属性表示:

request.getAttribute("micronaut.http.serviceId")

【讨论】:

    猜你喜欢
    • 2016-12-02
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 2019-09-30
    • 2020-01-18
    • 1970-01-01
    相关资源
    最近更新 更多