diff --git a/docs/src/main/asciidoc/spring-cloud-openfeign.adoc b/docs/src/main/asciidoc/spring-cloud-openfeign.adoc
index e756a7ad..666def20 100644
--- a/docs/src/main/asciidoc/spring-cloud-openfeign.adoc
+++ b/docs/src/main/asciidoc/spring-cloud-openfeign.adoc
@@ -191,7 +191,7 @@ spring:
requestInterceptors:
- com.example.FooRequestInterceptor
- com.example.BarRequestInterceptor
- decode404: false
+ dismiss404: false
encoder: com.example.SimpleEncoder
decoder: com.example.SimpleDecoder
contract: com.example.SimpleContract
@@ -665,10 +665,6 @@ You can also disable the feature via property `spring.cloud.openfeign.cache.enab
=== Feign @QueryMap support
-The OpenFeign `@QueryMap` annotation provides support for POJOs to be used as
-GET parameter maps. Unfortunately, the default OpenFeign QueryMap annotation is
-incompatible with Spring because it lacks a `value` property.
-
Spring Cloud OpenFeign provides an equivalent `@SpringQueryMap` annotation, which
is used to annotate a POJO or Map parameter as a query parameter map.
diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClient.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClient.java
index 773b157a..ad3941cf 100644
--- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClient.java
+++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClient.java
@@ -64,27 +64,8 @@ public @interface FeignClient {
@AliasFor("value")
String name() default "";
- /**
- * @return the @Qualifier value for the feign client.
- * @deprecated in favour of {@link #qualifiers()}.
- *
- * If both {@link #qualifier()} and {@link #qualifiers()} are present, we will use the
- * latter, unless the array returned by {@link #qualifiers()} is empty or only
- * contains null or whitespace values, in which case we'll fall back
- * first to {@link #qualifier()} and, if that's also not present, to the default =
- * contextId + "FeignClient".
- */
- @Deprecated
- String qualifier() default "";
-
/**
* @return the @Qualifiers value for the feign client.
- *
- * If both {@link #qualifier()} and {@link #qualifiers()} are present, we will use the
- * latter, unless the array returned by {@link #qualifiers()} is empty or only
- * contains null or whitespace values, in which case we'll fall back
- * first to {@link #qualifier()} and, if that's also not present, to the default =
- * contextId + "FeignClient".
*/
String[] qualifiers() default {};
@@ -96,7 +77,7 @@ public @interface FeignClient {
/**
* @return whether 404s should be decoded instead of throwing FeignExceptions
*/
- boolean decode404() default false;
+ boolean dismiss404() default false;
/**
* A custom configuration class for the feign client. Can contain override
diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientBuilder.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientBuilder.java
index 81c53e0f..227feb5b 100644
--- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientBuilder.java
+++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientBuilder.java
@@ -72,7 +72,7 @@ public class FeignClientBuilder {
this.feignClientFactoryBean.setInheritParentContext(true);
// preset default values - these values resemble the default values on the
// FeignClient annotation
- this.url("").path("").decode404(false);
+ this.url("").path("").dismiss404(false);
}
public Builder url(final String url) {
@@ -102,8 +102,8 @@ public class FeignClientBuilder {
return this;
}
- public Builder decode404(final boolean decode404) {
- this.feignClientFactoryBean.setDecode404(decode404);
+ public Builder dismiss404(final boolean dismiss404) {
+ this.feignClientFactoryBean.setDismiss404(dismiss404);
return this;
}
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 b27d450b..4e40ea19 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
@@ -91,7 +91,7 @@ public class FeignClientFactoryBean
private String path;
- private boolean decode404;
+ private boolean dismiss404;
private boolean inheritParentContext = true;
@@ -214,7 +214,7 @@ public class FeignClientFactoryBean
if (queryMapEncoder != null) {
builder.queryMapEncoder(queryMapEncoder);
}
- if (decode404) {
+ if (dismiss404) {
builder.dismiss404();
}
ExceptionPropagationPolicy exceptionPropagationPolicy = getInheritedAwareOptional(context,
@@ -268,8 +268,8 @@ public class FeignClientFactoryBean
}
}
- if (config.getDecode404() != null) {
- if (config.getDecode404()) {
+ if (config.getDismiss404() != null) {
+ if (config.getDismiss404()) {
builder.dismiss404();
}
}
@@ -517,12 +517,12 @@ public class FeignClientFactoryBean
this.path = path;
}
- public boolean isDecode404() {
- return decode404;
+ public boolean isDismiss404() {
+ return dismiss404;
}
- public void setDecode404(boolean decode404) {
- this.decode404 = decode404;
+ public void setDismiss404(boolean dismiss404) {
+ this.dismiss404 = dismiss404;
}
public boolean isInheritParentContext() {
@@ -577,7 +577,7 @@ public class FeignClientFactoryBean
}
FeignClientFactoryBean that = (FeignClientFactoryBean) o;
return Objects.equals(applicationContext, that.applicationContext)
- && Objects.equals(beanFactory, that.beanFactory) && decode404 == that.decode404
+ && Objects.equals(beanFactory, that.beanFactory) && dismiss404 == that.dismiss404
&& inheritParentContext == that.inheritParentContext && Objects.equals(fallback, that.fallback)
&& Objects.equals(fallbackFactory, that.fallbackFactory) && Objects.equals(name, that.name)
&& Objects.equals(path, that.path) && Objects.equals(type, that.type) && Objects.equals(url, that.url)
@@ -589,15 +589,16 @@ public class FeignClientFactoryBean
@Override
public int hashCode() {
- return Objects.hash(applicationContext, beanFactory, decode404, inheritParentContext, fallback, fallbackFactory,
- name, path, type, url, readTimeoutMillis, connectTimeoutMillis, followRedirects, refreshableClient);
+ return Objects.hash(applicationContext, beanFactory, dismiss404, inheritParentContext, fallback,
+ fallbackFactory, name, path, type, url, readTimeoutMillis, connectTimeoutMillis, followRedirects,
+ refreshableClient);
}
@Override
public String toString() {
return new StringBuilder("FeignClientFactoryBean{").append("type=").append(type).append(", ").append("name='")
.append(name).append("', ").append("url='").append(url).append("', ").append("path='").append(path)
- .append("', ").append("decode404=").append(decode404).append(", ").append("inheritParentContext=")
+ .append("', ").append("dismiss404=").append(dismiss404).append(", ").append("inheritParentContext=")
.append(inheritParentContext).append(", ").append("applicationContext=").append(applicationContext)
.append(", ").append("beanFactory=").append(beanFactory).append(", ").append("fallback=")
.append(fallback).append(", ").append("fallbackFactory=").append(fallbackFactory).append("}")
diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientProperties.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientProperties.java
index 09184acd..ac35d22f 100644
--- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientProperties.java
+++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientProperties.java
@@ -129,7 +129,7 @@ public class FeignClientProperties {
private Map> defaultQueryParameters;
- private Boolean decode404;
+ private Boolean dismiss404;
private Class decoder;
@@ -211,12 +211,12 @@ public class FeignClientProperties {
this.defaultQueryParameters = defaultQueryParameters;
}
- public Boolean getDecode404() {
- return decode404;
+ public Boolean getDismiss404() {
+ return dismiss404;
}
- public void setDecode404(Boolean decode404) {
- this.decode404 = decode404;
+ public void setDismiss404(Boolean dismiss404) {
+ this.dismiss404 = dismiss404;
}
public Class getDecoder() {
@@ -296,7 +296,7 @@ public class FeignClientProperties {
&& Objects.equals(readTimeout, that.readTimeout) && Objects.equals(retryer, that.retryer)
&& Objects.equals(errorDecoder, that.errorDecoder)
&& Objects.equals(requestInterceptors, that.requestInterceptors)
- && Objects.equals(decode404, that.decode404) && Objects.equals(encoder, that.encoder)
+ && Objects.equals(dismiss404, that.dismiss404) && Objects.equals(encoder, that.encoder)
&& Objects.equals(decoder, that.decoder) && Objects.equals(contract, that.contract)
&& Objects.equals(exceptionPropagationPolicy, that.exceptionPropagationPolicy)
&& Objects.equals(defaultRequestHeaders, that.defaultRequestHeaders)
@@ -309,7 +309,7 @@ public class FeignClientProperties {
@Override
public int hashCode() {
return Objects.hash(loggerLevel, connectTimeout, readTimeout, retryer, errorDecoder, requestInterceptors,
- decode404, encoder, decoder, contract, exceptionPropagationPolicy, defaultQueryParameters,
+ dismiss404, encoder, decoder, contract, exceptionPropagationPolicy, defaultQueryParameters,
defaultRequestHeaders, capabilities, queryMapEncoder, metrics, followRedirects);
}
diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsRegistrar.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsRegistrar.java
index 8c2fda6b..91c8f534 100644
--- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsRegistrar.java
+++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsRegistrar.java
@@ -221,7 +221,7 @@ class FeignClientsRegistrar implements ImportBeanDefinitionRegistrar, ResourceLo
BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(clazz, () -> {
factoryBean.setUrl(getUrl(beanFactory, attributes));
factoryBean.setPath(getPath(beanFactory, attributes));
- factoryBean.setDecode404(Boolean.parseBoolean(String.valueOf(attributes.get("decode404"))));
+ factoryBean.setDismiss404(Boolean.parseBoolean(String.valueOf(attributes.get("dismiss404"))));
Object fallback = attributes.get("fallback");
if (fallback != null) {
factoryBean.setFallback(fallback instanceof Class ? (Class>) fallback
diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/SpringQueryMap.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/SpringQueryMap.java
index 2d77cdfa..918f0438 100644
--- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/SpringQueryMap.java
+++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/SpringQueryMap.java
@@ -21,10 +21,6 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import feign.QueryMap;
-
-import org.springframework.core.annotation.AliasFor;
-
/**
* Spring MVC equivalent of OpenFeign's {@link feign.QueryMap} parameter annotation.
*
@@ -36,18 +32,4 @@ import org.springframework.core.annotation.AliasFor;
@Target({ ElementType.PARAMETER })
public @interface SpringQueryMap {
- /**
- * @see QueryMap#encoded()
- * @return alias for {@link #encoded()}.
- */
- @AliasFor("encoded")
- boolean value() default false;
-
- /**
- * @see QueryMap#encoded()
- * @return Specifies whether parameter names and values are already encoded.
- */
- @AliasFor("value")
- boolean encoded() default false;
-
}
diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/LoadBalancerUtils.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/LoadBalancerUtils.java
index d97e9225..9432d05a 100644
--- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/LoadBalancerUtils.java
+++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/LoadBalancerUtils.java
@@ -80,7 +80,7 @@ final class LoadBalancerUtils {
static RequestData buildRequestData(Request request) {
HttpHeaders requestHeaders = new HttpHeaders();
request.headers().forEach((key, value) -> requestHeaders.put(key, new ArrayList<>(value)));
- return new RequestData(HttpMethod.resolve(request.httpMethod().name()), URI.create(request.url()),
+ return new RequestData(HttpMethod.valueOf(request.httpMethod().name()), URI.create(request.url()),
requestHeaders, null, new HashMap<>());
}
diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/RetryableFeignBlockingLoadBalancerClient.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/RetryableFeignBlockingLoadBalancerClient.java
index 26dac934..6c88ef51 100644
--- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/RetryableFeignBlockingLoadBalancerClient.java
+++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/loadbalancer/RetryableFeignBlockingLoadBalancerClient.java
@@ -245,7 +245,7 @@ public class RetryableFeignBlockingLoadBalancerClient implements Client {
return new HttpRequest() {
@Override
public HttpMethod getMethod() {
- return HttpMethod.resolve(request.httpMethod().name());
+ return HttpMethod.valueOf(request.httpMethod().name());
}
@Override
diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/SpringEncoder.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/SpringEncoder.java
index fb840845..082087b4 100644
--- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/SpringEncoder.java
+++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/support/SpringEncoder.java
@@ -79,26 +79,7 @@ public class SpringEncoder implements Encoder {
private final ObjectProvider customizers;
public SpringEncoder(ObjectFactory messageConverters) {
- this(new SpringFormEncoder(), messageConverters);
- }
-
- /**
- * @deprecated in favour of
- * {@link SpringEncoder#SpringEncoder(SpringFormEncoder, ObjectFactory, FeignEncoderProperties, ObjectProvider)}
- */
- @Deprecated
- public SpringEncoder(SpringFormEncoder springFormEncoder, ObjectFactory messageConverters) {
- this(springFormEncoder, messageConverters, new FeignEncoderProperties());
- }
-
- /**
- * @deprecated in favour of
- * {@link SpringEncoder#SpringEncoder(SpringFormEncoder, ObjectFactory, FeignEncoderProperties, ObjectProvider)}
- */
- @Deprecated
- public SpringEncoder(SpringFormEncoder springFormEncoder, ObjectFactory messageConverters,
- FeignEncoderProperties encoderProperties) {
- this(springFormEncoder, messageConverters, encoderProperties, new EmptyObjectProvider<>());
+ this(new SpringFormEncoder(), messageConverters, new FeignEncoderProperties(), new EmptyObjectProvider<>());
}
public SpringEncoder(SpringFormEncoder springFormEncoder, ObjectFactory messageConverters,
diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientBuilderTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientBuilderTests.java
index 6530628e..c4661d5a 100644
--- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientBuilderTests.java
+++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientBuilderTests.java
@@ -92,8 +92,8 @@ class FeignClientBuilderTests {
// on this builder class.
// (2) Or a new field was added and the builder class has to be extended with this
// new field.
- assertThat(methodNames).containsExactly("contextId", "decode404", "fallback", "fallbackFactory", "name", "path",
- "url");
+ assertThat(methodNames).containsExactly("contextId", "dismiss404", "fallback", "fallbackFactory", "name",
+ "path", "url");
}
@Test
@@ -110,7 +110,7 @@ class FeignClientBuilderTests {
// and:
assertFactoryBeanField(builder, "url", getDefaultValueFromFeignClientAnnotation("url"));
assertFactoryBeanField(builder, "path", getDefaultValueFromFeignClientAnnotation("path"));
- assertFactoryBeanField(builder, "decode404", getDefaultValueFromFeignClientAnnotation("decode404"));
+ assertFactoryBeanField(builder, "dismiss404", getDefaultValueFromFeignClientAnnotation("dismiss404"));
assertFactoryBeanField(builder, "fallback", getDefaultValueFromFeignClientAnnotation("fallback"));
assertFactoryBeanField(builder, "fallbackFactory", getDefaultValueFromFeignClientAnnotation("fallbackFactory"));
}
@@ -119,7 +119,7 @@ class FeignClientBuilderTests {
void forType_allFieldsSetOnBuilder() {
// when:
final FeignClientBuilder.Builder builder = this.feignClientBuilder.forType(TestFeignClient.class, "TestClient")
- .decode404(true).url("Url/").path("/Path").contextId("TestContext");
+ .dismiss404(true).url("Url/").path("/Path").contextId("TestContext");
// then:
assertFactoryBeanField(builder, "applicationContext", this.applicationContext);
@@ -130,7 +130,7 @@ class FeignClientBuilderTests {
// and:
assertFactoryBeanField(builder, "url", "http://Url/");
assertFactoryBeanField(builder, "path", "/Path");
- assertFactoryBeanField(builder, "decode404", true);
+ assertFactoryBeanField(builder, "dismiss404", true);
}
@@ -138,7 +138,7 @@ class FeignClientBuilderTests {
void forType_clientFactoryBeanProvided() {
// when:
final FeignClientBuilder.Builder builder = this.feignClientBuilder
- .forType(TestFeignClient.class, new FeignClientFactoryBean(), "TestClient").decode404(true)
+ .forType(TestFeignClient.class, new FeignClientFactoryBean(), "TestClient").dismiss404(true)
.path("Path/").url("Url/").contextId("TestContext").customize(Feign.Builder::doNotCloseAfterDecode);
// then:
@@ -150,7 +150,7 @@ class FeignClientBuilderTests {
// and:
assertFactoryBeanField(builder, "url", "http://Url/");
assertFactoryBeanField(builder, "path", "/Path");
- assertFactoryBeanField(builder, "decode404", true);
+ assertFactoryBeanField(builder, "dismiss404", true);
List additionalCustomizers = getFactoryBeanField(builder, "additionalCustomizers");
assertThat(additionalCustomizers).hasSize(1);
}
diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientConfigurationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientConfigurationTests.java
index a250ec7e..100172af 100644
--- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientConfigurationTests.java
+++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientConfigurationTests.java
@@ -62,7 +62,7 @@ class FeignClientConfigurationTests {
assertThat(config.getRequestInterceptors()).isNull();
assertThat(config.getDefaultRequestHeaders()).isNull();
assertThat(config.getDefaultQueryParameters()).isNull();
- assertThat(config.getDecode404()).isNull();
+ assertThat(config.getDismiss404()).isNull();
assertThat(config.getDecoder()).isNull();
assertThat(config.getEncoder()).isNull();
assertThat(config.getContract()).isNull();
@@ -86,7 +86,7 @@ class FeignClientConfigurationTests {
config.setDefaultRequestHeaders(defaultRequestHeaders);
Map> defaultQueryParameters = Maps.newHashMap("default", Collections.emptyList());
config.setDefaultQueryParameters(defaultQueryParameters);
- config.setDecode404(true);
+ config.setDismiss404(true);
config.setDecoder(Decoder.class);
config.setEncoder(Encoder.class);
config.setContract(Contract.class);
@@ -105,7 +105,7 @@ class FeignClientConfigurationTests {
assertThat(config.getRequestInterceptors()).isSameAs(requestInterceptors);
assertThat(config.getDefaultRequestHeaders()).isSameAs(defaultRequestHeaders);
assertThat(config.getDefaultQueryParameters()).isSameAs(defaultQueryParameters);
- assertThat(config.getDecode404()).isTrue();
+ assertThat(config.getDismiss404()).isTrue();
assertThat(config.getDecoder()).isSameAs(Decoder.class);
assertThat(config.getEncoder()).isSameAs(Encoder.class);
assertThat(config.getContract()).isSameAs(Contract.class);
@@ -125,7 +125,7 @@ class FeignClientConfigurationTests {
FeignClientProperties.FeignClientConfiguration configTwo = new FeignClientProperties.FeignClientConfiguration();
FeignClientProperties.FeignClientConfiguration configThree = new FeignClientProperties.FeignClientConfiguration();
FeignClientProperties.FeignClientConfiguration differentConfig = new FeignClientProperties.FeignClientConfiguration();
- differentConfig.setDecode404(true);
+ differentConfig.setDismiss404(true);
assertEqualsReflexivity(configOne);
diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientsRegistrarIntegrationTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientsRegistrarIntegrationTests.java
index b943d955..e756c66f 100644
--- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientsRegistrarIntegrationTests.java
+++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/FeignClientsRegistrarIntegrationTests.java
@@ -48,30 +48,11 @@ class FeignClientsRegistrarIntegrationTests {
assertThatExceptionOfType(NoSuchBeanDefinitionException.class).isThrownBy(() -> context.getBean("qualifier3"));
}
- @Test
- void shouldUseQualifierIfQualifiersArrayNotPresent() {
- assertThat(context.getBean("qualifier4")).isNotNull();
- }
-
@Test
void shouldUseDefaultQualifierWhenNonePresent() {
assertThat(context.getBean("noQualifiersFeignClient")).isNotNull();
}
- @Test
- void shouldUseQualifierWhenEmptyQualifiers() {
- assertThat(context.getBean("test1")).isNotNull();
- assertThatExceptionOfType(NoSuchBeanDefinitionException.class)
- .isThrownBy(() -> context.getBean("emptyQualifiersFeignClient"));
- }
-
- @Test
- void shouldUseQualifierWhenWhitespaceQualifiers() {
- assertThat(context.getBean("test2")).isNotNull();
- assertThatExceptionOfType(NoSuchBeanDefinitionException.class)
- .isThrownBy(() -> context.getBean("whitespaceQualifiersFeignClient"));
- }
-
@Test
void shouldUseDefaultQualifierWhenEmptyQualifiers() {
assertThat(context.getBean("emptyQualifiersNoQualifierFeignClient")).isNotNull();
@@ -82,31 +63,16 @@ class FeignClientsRegistrarIntegrationTests {
assertThat(context.getBean("whitespaceQualifiersNoQualifierFeignClient")).isNotNull();
}
- @FeignClient(name = "qualifiersClient", qualifiers = { "qualifier1", "qualifier2" }, qualifier = "qualifier3")
+ @FeignClient(name = "qualifiersClient", qualifiers = { "qualifier1", "qualifier2" })
protected interface QualifiersClient {
}
- @FeignClient(name = "qualifierClient", qualifier = "qualifier4")
- protected interface QualifierClient {
-
- }
-
@FeignClient(name = "noQualifiers")
protected interface NoQualifiersClient {
}
- @FeignClient(name = "emptyQualifiers", qualifier = "test1", qualifiers = {})
- protected interface EmptyQualifiersClient {
-
- }
-
- @FeignClient(name = "whitespaceQualifiers", qualifier = "test2", qualifiers = { " " })
- protected interface WhitespaceQualifiersClient {
-
- }
-
@FeignClient(name = "emptyQualifiersNoQualifier", qualifiers = {})
protected interface EmptyQualifiersNoQualifierClient {
@@ -120,9 +86,8 @@ class FeignClientsRegistrarIntegrationTests {
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@Import(NoSecurityConfiguration.class)
- @EnableFeignClients(clients = { QualifiersClient.class, QualifierClient.class, NoQualifiersClient.class,
- EmptyQualifiersClient.class, WhitespaceQualifiersClient.class, EmptyQualifiersNoQualifierClient.class,
- WhitespaceQualifiersNoQualifierClient.class })
+ @EnableFeignClients(clients = { NoQualifiersClient.class, QualifiersClient.class,
+ EmptyQualifiersNoQualifierClient.class, WhitespaceQualifiersNoQualifierClient.class })
protected static class QualifiersTestConfig {
}
diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/SpringDecoderTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/SpringDecoderTests.java
index c97c0f71..12ff809e 100644
--- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/SpringDecoderTests.java
+++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/SpringDecoderTests.java
@@ -67,9 +67,9 @@ class SpringDecoderTests extends FeignClientFactoryBean {
return testClient(false);
}
- public TestClient testClient(boolean decode404) {
+ public TestClient testClient(boolean dismiss404) {
setType(this.getClass());
- setDecode404(decode404);
+ setDismiss404(dismiss404);
return feign(this.context).target(TestClient.class, "http://localhost:" + this.port);
}
diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/extra/TestClient.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/extra/TestClient.java
index 5df05f37..8202aea3 100644
--- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/extra/TestClient.java
+++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/beans/extra/TestClient.java
@@ -20,7 +20,7 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.beans.BeansFeignClientTests.Hello;
import org.springframework.web.bind.annotation.GetMapping;
-@FeignClient(value = "otherapp", qualifier = "uniquequalifier")
+@FeignClient(value = "otherapp", qualifiers = { "uniquequalifier" })
public interface TestClient {
@GetMapping("/hello")
diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/NoSecurityConfiguration.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/NoSecurityConfiguration.java
index 24187187..4f73cc4d 100644
--- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/NoSecurityConfiguration.java
+++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/test/NoSecurityConfiguration.java
@@ -16,16 +16,18 @@
package org.springframework.cloud.openfeign.test;
+import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+import org.springframework.security.web.SecurityFilterChain;
@Configuration(proxyBeanMethods = false)
-public class NoSecurityConfiguration extends WebSecurityConfigurerAdapter {
+public class NoSecurityConfiguration {
- @Override
- protected void configure(HttpSecurity http) throws Exception {
+ @Bean
+ SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeRequests().anyRequest().permitAll().and().csrf().disable();
+ return http.build();
}
}
diff --git a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/ValidFeignClientTests.java b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/ValidFeignClientTests.java
index 2acd5382..24341d41 100644
--- a/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/ValidFeignClientTests.java
+++ b/spring-cloud-openfeign-core/src/test/java/org/springframework/cloud/openfeign/valid/ValidFeignClientTests.java
@@ -498,7 +498,7 @@ class ValidFeignClientTests {
}
- @FeignClient(name = "localapp2", decode404 = true)
+ @FeignClient(name = "localapp2", dismiss404 = true)
protected interface DecodingTestClient {
@GetMapping("/notFound")
diff --git a/spring-cloud-openfeign-core/src/test/resources/feign-properties.properties b/spring-cloud-openfeign-core/src/test/resources/feign-properties.properties
index c287b431..1c5cbf6a 100644
--- a/spring-cloud-openfeign-core/src/test/resources/feign-properties.properties
+++ b/spring-cloud-openfeign-core/src/test/resources/feign-properties.properties
@@ -7,7 +7,7 @@ spring.cloud.openfeign.client.config.default.readTimeout=5000
spring.cloud.openfeign.client.config.default.loggerLevel=full
spring.cloud.openfeign.client.config.default.errorDecoder=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.DefaultErrorDecoder
spring.cloud.openfeign.client.config.default.retryer=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.NoRetryer
-spring.cloud.openfeign.client.config.default.decode404=true
+spring.cloud.openfeign.client.config.default.dismiss404=true
spring.cloud.openfeign.client.config.default.capabilities=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.NoOpCapability
spring.cloud.openfeign.client.config.default.queryMapEncoder=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.NoOpQueryMapEncoder
spring.cloud.openfeign.client.config.foo.requestInterceptors[0]=org.springframework.cloud.openfeign.FeignClientUsingPropertiesTests.FooRequestInterceptor