【问题标题】:Feign Client Dynamic Authorization HeaderFeign 客户端动态授权头
【发布时间】:2018-10-14 06:26:25
【问题描述】:

我有一项服务可以获取带有授权标头的 http 请求。在处理请求时,我想使用 Feign Client 来查询另一个服务。对其他服务的查询应包含不同的授权标头。

【问题讨论】:

    标签: feign


    【解决方案1】:

    您只需将标头作为参数传递,然后相应地在界面中声明您的方法。请在下面找到代码的 sn-p。

    当您在日志级别已满 (feign.client.config.default.loggerLevel=full) 的情况下运行 Feign 客户端时,您将看到授权标头(在我的情况下是 OAuth Bearer 访问令牌)。

    希望这会有所帮助。

    一切顺利, 维姆

    @FeignClient(name="mde", url="${MDE.campaignServiceEndpoint}")
    public interface CampaignClientService {
        @RequestMapping(method = RequestMethod.GET, value = "/useCases/search/findByName?name={name}")
        @Cacheable("placementUseCase")
        PlacementUseCase findUseCaseByName(@RequestHeader(value = "Authorization", required = true) String authorizationHeader, @PathVariable("name") String name);
    

    【讨论】:

      【解决方案2】:

      如果你是直接使用Feign客户端,没有spring

      然后你可以在 Feign Interface 中传递类似这样的 Header 参数

      @Headers("Content-Type: application/json")
      @RequestLine("PATCH infusionsoft/contacts/{contactId}?format={format}")
      InfusionsoftFullContact updateContact(@Param("contactId") Long contactId,
                                            @Param("format") String format,
                                            InfusionsoftFullContact contact,
                                            @HeaderMap Map<String, Object> headerMap);
      

      HeaderParams 可以如下所示

      Map<String, Object> headerMap = new HashMap<>();
          
      headerMap.put("application", "FDX");
      headerMap.put("Authorization", "Basic aW5mdXNpb25zb2Z0OnBhc3N3b3Jk");
      headerMap.put("platform",user.getPlatform());
      headerMap.put("platformKey", user.getPlatformKey());
      headerMap.put("email",user.getEmail());
      headerMap.put("Content-Type", MediaType.APPLICATION_JSON);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-16
        • 2020-01-14
        • 2017-08-31
        • 2023-01-29
        • 2019-07-01
        • 1970-01-01
        • 2022-06-14
        • 1970-01-01
        相关资源
        最近更新 更多