Remove deprecations and outdated API usage. (#768)
This commit is contained in:
committed by
GitHub
parent
075887eec3
commit
28345b2ad9
@@ -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.
|
||||
|
||||
|
||||
@@ -64,27 +64,8 @@ public @interface FeignClient {
|
||||
@AliasFor("value")
|
||||
String name() default "";
|
||||
|
||||
/**
|
||||
* @return the <code>@Qualifier</code> 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 <code>null</code> or whitespace values, in which case we'll fall back
|
||||
* first to {@link #qualifier()} and, if that's also not present, to the default =
|
||||
* <code>contextId + "FeignClient"</code>.
|
||||
*/
|
||||
@Deprecated
|
||||
String qualifier() default "";
|
||||
|
||||
/**
|
||||
* @return the <code>@Qualifiers</code> 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 <code>null</code> or whitespace values, in which case we'll fall back
|
||||
* first to {@link #qualifier()} and, if that's also not present, to the default =
|
||||
* <code>contextId + "FeignClient"</code>.
|
||||
*/
|
||||
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
|
||||
|
||||
@@ -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<T> url(final String url) {
|
||||
@@ -102,8 +102,8 @@ public class FeignClientBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder<T> decode404(final boolean decode404) {
|
||||
this.feignClientFactoryBean.setDecode404(decode404);
|
||||
public Builder<T> dismiss404(final boolean dismiss404) {
|
||||
this.feignClientFactoryBean.setDismiss404(dismiss404);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -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("}")
|
||||
|
||||
@@ -129,7 +129,7 @@ public class FeignClientProperties {
|
||||
|
||||
private Map<String, Collection<String>> defaultQueryParameters;
|
||||
|
||||
private Boolean decode404;
|
||||
private Boolean dismiss404;
|
||||
|
||||
private Class<Decoder> 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<Decoder> 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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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<>());
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -79,26 +79,7 @@ public class SpringEncoder implements Encoder {
|
||||
private final ObjectProvider<HttpMessageConverterCustomizer> customizers;
|
||||
|
||||
public SpringEncoder(ObjectFactory<HttpMessageConverters> messageConverters) {
|
||||
this(new SpringFormEncoder(), messageConverters);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated in favour of
|
||||
* {@link SpringEncoder#SpringEncoder(SpringFormEncoder, ObjectFactory, FeignEncoderProperties, ObjectProvider)}
|
||||
*/
|
||||
@Deprecated
|
||||
public SpringEncoder(SpringFormEncoder springFormEncoder, ObjectFactory<HttpMessageConverters> messageConverters) {
|
||||
this(springFormEncoder, messageConverters, new FeignEncoderProperties());
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated in favour of
|
||||
* {@link SpringEncoder#SpringEncoder(SpringFormEncoder, ObjectFactory, FeignEncoderProperties, ObjectProvider)}
|
||||
*/
|
||||
@Deprecated
|
||||
public SpringEncoder(SpringFormEncoder springFormEncoder, ObjectFactory<HttpMessageConverters> messageConverters,
|
||||
FeignEncoderProperties encoderProperties) {
|
||||
this(springFormEncoder, messageConverters, encoderProperties, new EmptyObjectProvider<>());
|
||||
this(new SpringFormEncoder(), messageConverters, new FeignEncoderProperties(), new EmptyObjectProvider<>());
|
||||
}
|
||||
|
||||
public SpringEncoder(SpringFormEncoder springFormEncoder, ObjectFactory<HttpMessageConverters> messageConverters,
|
||||
|
||||
@@ -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<FeignBuilderCustomizer> additionalCustomizers = getFactoryBeanField(builder, "additionalCustomizers");
|
||||
assertThat(additionalCustomizers).hasSize(1);
|
||||
}
|
||||
|
||||
@@ -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<String, Collection<String>> 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);
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -498,7 +498,7 @@ class ValidFeignClientTests {
|
||||
|
||||
}
|
||||
|
||||
@FeignClient(name = "localapp2", decode404 = true)
|
||||
@FeignClient(name = "localapp2", dismiss404 = true)
|
||||
protected interface DecodingTestClient {
|
||||
|
||||
@GetMapping("/notFound")
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user