diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientFactoryBean.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientFactoryBean.java index 2aaa8c70..e2aa19bf 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientFactoryBean.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientFactoryBean.java @@ -16,6 +16,8 @@ package org.springframework.cloud.openfeign; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.concurrent.TimeUnit; @@ -173,7 +175,10 @@ public class FeignClientFactoryBean implements FactoryBean, Initializing Map requestInterceptors = getInheritedAwareInstances(context, RequestInterceptor.class); if (requestInterceptors != null) { - builder.requestInterceptors(requestInterceptors.values()); + List interceptors = new ArrayList<>( + requestInterceptors.values()); + AnnotationAwareOrderComparator.sort(interceptors); + builder.requestInterceptors(interceptors); } QueryMapEncoder queryMapEncoder = getInheritedAwareOptional(context, QueryMapEncoder.class); if (queryMapEncoder != null) {