在最新的 Spring Cloud 中从那里删除 DiscoveryClientOptionalArgs 时如何在 DiscoveryClient 中添加 setAdditionalFilters

问题描述 投票:0回答:0

提前感谢您的回答。

我正在升级 spring cloud,我之前有一个 bean 来添加额外的过滤器,如下所示

 @Bean
  @ConditionalOnMissingBean(DiscoveryClient.DiscoveryClientOptionalArgs.class)
  public DiscoveryClient.DiscoveryClientOptionalArgs discoveryClientOptionalArgs() {
    List<ClientFilter> filters = new ArrayList<>();
    filters.add(new ClientFilterAdapter(jwtAuthRequestDecorator()));
    DiscoveryClient.DiscoveryClientOptionalArgs args =
        new DiscoveryClient.DiscoveryClientOptionalArgs();
    args.setAdditionalFilters(filters);
    return args;
  }

在较新版本的 DiscoveryClient 中,DiscoveryClientOptionalArgs 已被删除/弃用。你能帮我用另一种方法来实现吗?

jwtAuthRequestDecorator 只是一个添加额外标头的 bean

public HttpHeaders getHeaders() {
    HttpHeaders httpHeaders = new HttpHeaders();
    httpHeaders.add(TOKEN, jwtToken);
    return httpHeaders;
  }

我添加了实现(“com.sun.jersey:jersey-client:1.19.4”)以包含从 spring cloud 中删除的球衣客户端。

spring spring-boot spring-cloud upgrade service-discovery
© www.soinside.com 2019 - 2024. All rights reserved.