Обойти глобальный список RequestInterceptors для одного FeignClient - PullRequest
0 голосов
/ 31 октября 2019

В наших микросервисах мы используем Feign для связи между службами, у нас есть специальный RequestInterceptor для обеспечения безопасности и прикрепляем наш токен JWT к каждому запросу.

Я хотел бы использовать Feign для вызовов на 3-йсторонний сервис за пределами моей организации.

Допустим, мой FeignClient выглядит следующим образом.

@FeignClient(name = "ThirdPartyClient", url = "https://api.thirdparty.com/", configuration = ThirdPartyConfiguration.class)
public interface ThirdPartyClient { ... }

Проблема в том, что этот сторонний клиент также пройдет через список RequestInterceptors и получит ту же аутентификациюзаголовок используется между моими микросервисами. Я хотел бы обойти список по умолчанию RequestInterceptors для установки определенного.

Я попытался переопределить конфигурацию по умолчанию, как описано в doc , мне удается добавить определенный RequestInterceptorно все еще проходит через список, и поэтому я получаю все заголовки в запросе.

@Configuration
public class ThirdPartyConfiguration {

    @Bean
    public RequestInterceptor requestInterceptor() {
        return requestTemplate -> {
            requestTemplate.header("Authorization", "HEADER_VALUE");
        };
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...