Following the documentation for spring cloud netflix, I ran into this issue. I am currently on Brixton M4.

Exception occurred java.lang.IllegalStateException: Method getUserProfile not annotated with HTTP method type (ex. GET, POST)
at feign.Util.checkState(Util.java:117)
at feign.Contract$BaseContract.parseAndValidateMetadata(Contract.java:94)
at feign.Contract$BaseContract.parseAndValidatateMetadata(Contract.java:61)
at feign.ReflectiveFeign$ParseHandlersByName.apply(ReflectiveFeign.java:137)
at feign.ReflectiveFeign.newInstance(ReflectiveFeign.java:55)
at feign.Feign$Builder.target(Feign.java:198)
at feign.Feign$Builder.target(Feign.java:194)

Here's my /autoconfig output:

{
positiveMatches: {
AuditAutoConfiguration.AuditEventRepositoryConfiguration: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.audit.AuditEventRepository; SearchStrategy: all) found no beans"
}
],
EndpointAutoConfiguration#autoConfigurationReportEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport; SearchStrategy: all) found the following [autoConfigurationReport] @ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.AutoConfigurationReportEndpoint; SearchStrategy: current) found no beans"
}
],
EndpointAutoConfiguration#beansEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.BeansEndpoint; SearchStrategy: all) found no beans"
}
],
EndpointAutoConfiguration#configurationPropertiesReportEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.ConfigurationPropertiesReportEndpoint; SearchStrategy: all) found no beans"
}
],
EndpointAutoConfiguration#dumpEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.DumpEndpoint; SearchStrategy: all) found no beans"
}
],
EndpointAutoConfiguration#environmentEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.EnvironmentEndpoint; SearchStrategy: all) found no beans"
}
],
EndpointAutoConfiguration#healthEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.HealthEndpoint; SearchStrategy: all) found no beans"
}
],
EndpointAutoConfiguration#infoEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.InfoEndpoint; SearchStrategy: all) found no beans"
}
],
EndpointAutoConfiguration#metricsEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.MetricsEndpoint; SearchStrategy: all) found no beans"
}
],
EndpointAutoConfiguration#shutdownEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.ShutdownEndpoint; SearchStrategy: all) found no beans"
}
],
EndpointAutoConfiguration#traceEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.TraceEndpoint; SearchStrategy: all) found no beans"
}
],
EndpointAutoConfiguration.RequestMappingEndpointConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.web.servlet.handler.AbstractHandlerMethodMapping"
}
],
EndpointAutoConfiguration.RequestMappingEndpointConfiguration#requestMappingEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.RequestMappingEndpoint; SearchStrategy: all) found no beans"
}
],
EndpointMBeanExportAutoConfiguration: [
{
condition: "EndpointMBeanExportAutoConfiguration.JmxEnabledCondition",
message: "JMX Endpoints"
}
],
EndpointWebMvcAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.servlet.DispatcherServlet"
},
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
}
],
EndpointWebMvcAutoConfiguration.EndpointWebMvcConfiguration: [
{
condition: "EndpointWebMvcAutoConfiguration.OnManagementMvcCondition",
message: "Management context"
}
],
EndpointWebMvcManagementContextConfiguration#endpointHandlerMapping: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping; SearchStrategy: all) found no beans"
}
],
EndpointWebMvcManagementContextConfiguration#environmentMvcEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.boot.actuate.endpoint.EnvironmentEndpoint; SearchStrategy: all) found the following [environmentEndpoint]"
},
{
condition: "OnEnabledEndpointCondition",
message: "All endpoints are enabled by default"
}
],
EndpointWebMvcManagementContextConfiguration#healthMvcEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.boot.actuate.endpoint.HealthEndpoint; SearchStrategy: all) found the following [healthEndpoint]"
},
{
condition: "OnEnabledEndpointCondition",
message: "All endpoints are enabled by default"
}
],
EndpointWebMvcManagementContextConfiguration#metricsMvcEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.boot.actuate.endpoint.MetricsEndpoint; SearchStrategy: all) found the following [metricsEndpoint]"
},
{
condition: "OnEnabledEndpointCondition",
message: "All endpoints are enabled by default"
}
],
EndpointWebMvcManagementContextConfiguration#mvcEndpoints: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.mvc.MvcEndpoints; SearchStrategy: all) found no beans"
}
],
HealthIndicatorAutoConfiguration#healthAggregator: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.health.HealthAggregator; SearchStrategy: all) found no beans"
}
],
HealthIndicatorAutoConfiguration.DiskSpaceHealthIndicatorConfiguration: [
{
condition: "OnEnabledHealthIndicatorCondition",
message: "All default health indicators are enabled by default"
}
],
HealthIndicatorAutoConfiguration.DiskSpaceHealthIndicatorConfiguration#diskSpaceHealthIndicator: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (names: diskSpaceHealthIndicator; SearchStrategy: all) found no beans"
}
],
ManagementServerPropertiesAutoConfiguration#managementServerProperties: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.autoconfigure.ManagementServerProperties; SearchStrategy: all) found no beans"
}
],
MetricExportAutoConfiguration: [
{
condition: "OnPropertyCondition",
message: "matched"
}
],
MetricExportAutoConfiguration#metricWritersMetricExporter: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (names: metricWritersMetricExporter; SearchStrategy: all) found no beans"
}
],
MetricExportAutoConfiguration.MetricExportPropertiesConfiguration#metricExportProperties: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.metrics.export.MetricExportProperties; SearchStrategy: all) found no beans"
}
],
MetricFilterAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: javax.servlet.Servlet,javax.servlet.ServletRegistration,org.springframework.web.filter.OncePerRequestFilter,org.springframework.web.servlet.HandlerMapping"
},
{
condition: "OnPropertyCondition",
message: "matched"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.boot.actuate.metrics.CounterService,org.springframework.boot.actuate.metrics.GaugeService; SearchStrategy: all) found the following [servoMetricServices, servoMetricServices]"
}
],
PublicMetricsAutoConfiguration.TomcatMetricsConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: javax.servlet.Servlet,org.apache.catalina.startup.Tomcat"
},
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
}
],
PublicMetricsAutoConfiguration.TomcatMetricsConfiguration#tomcatPublicMetrics: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.TomcatPublicMetrics; SearchStrategy: all) found no beans"
}
],
TraceRepositoryAutoConfiguration#traceRepository: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.trace.TraceRepository; SearchStrategy: all) found no beans"
}
],
TraceWebFilterAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.servlet.DispatcherServlet,javax.servlet.ServletRegistration"
}
],
PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) found no beans"
}
],
AopAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.context.annotation.EnableAspectJAutoProxy,org.aspectj.lang.annotation.Aspect,org.aspectj.lang.reflect.Advice"
},
{
condition: "OnPropertyCondition",
message: "matched"
}
],
AopAutoConfiguration.JdkDynamicAutoProxyConfiguration: [
{
condition: "OnPropertyCondition",
message: "matched"
}
],
GenericCacheConfiguration: [
{
condition: "CacheCondition",
message: "Automatic cache type"
}
],
NoOpCacheConfiguration: [
{
condition: "CacheCondition",
message: "Automatic cache type"
}
],
RedisCacheConfiguration: [
{
condition: "CacheCondition",
message: "Automatic cache type"
}
],
SimpleCacheConfiguration: [
{
condition: "CacheCondition",
message: "Automatic cache type"
}
],
JacksonAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.fasterxml.jackson.databind.ObjectMapper"
}
],
JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.fasterxml.jackson.databind.ObjectMapper,org.springframework.http.converter.json.Jackson2ObjectMapperBuilder"
}
],
JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration#jacksonObjectMapperBuilder: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; SearchStrategy: all) found no beans"
}
],
JacksonAutoConfiguration.JacksonObjectMapperConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.fasterxml.jackson.databind.ObjectMapper,org.springframework.http.converter.json.Jackson2ObjectMapperBuilder"
}
],
JacksonAutoConfiguration.JacksonObjectMapperConfiguration#jacksonObjectMapper: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) found no beans"
}
],
JmxAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.jmx.export.MBeanExporter"
},
{
condition: "OnPropertyCondition",
message: "matched"
}
],
JmxAutoConfiguration#mbeanExporter: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.jmx.export.MBeanExporter; SearchStrategy: current) found no beans"
}
],
JmxAutoConfiguration#mbeanServer: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: javax.management.MBeanServer; SearchStrategy: all) found no beans"
}
],
JmxAutoConfiguration#objectNamingStrategy: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.jmx.export.naming.ObjectNamingStrategy; SearchStrategy: current) found no beans"
}
],
DispatcherServletAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.web.servlet.DispatcherServlet"
},
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
}
],
DispatcherServletAutoConfiguration.DispatcherServletConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: javax.servlet.ServletRegistration"
},
{
condition: "DispatcherServletAutoConfiguration.DefaultDispatcherServletCondition",
message: "no ServletRegistrationBean found"
}
],
EmbeddedServletContainerAutoConfiguration: [
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
}
],
EmbeddedServletContainerAutoConfiguration.EmbeddedTomcat: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: javax.servlet.Servlet,org.apache.catalina.startup.Tomcat"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.context.embedded.EmbeddedServletContainerFactory; SearchStrategy: current) found no beans"
}
],
ErrorMvcAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.servlet.DispatcherServlet"
},
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
}
],
ErrorMvcAutoConfiguration#basicErrorController: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ErrorController; SearchStrategy: current) found no beans"
}
],
ErrorMvcAutoConfiguration#errorAttributes: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ErrorAttributes; SearchStrategy: current) found no beans"
}
],
ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration: [
{
condition: "ErrorMvcAutoConfiguration.ErrorTemplateMissingCondition",
message: "No error template view detected"
},
{
condition: "OnPropertyCondition",
message: "matched"
}
],
ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration#beanNameViewResolver: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.web.servlet.view.BeanNameViewResolver; SearchStrategy: all) found no beans"
}
],
ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration#defaultErrorView: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (names: error; SearchStrategy: all) found no beans"
}
],
HttpEncodingAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.web.filter.CharacterEncodingFilter"
},
{
condition: "OnPropertyCondition",
message: "matched"
}
],
HttpEncodingAutoConfiguration#characterEncodingFilter: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.web.filter.CharacterEncodingFilter; SearchStrategy: all) found no beans"
}
],
HttpMessageConvertersAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.http.converter.HttpMessageConverter"
}
],
HttpMessageConvertersAutoConfiguration#messageConverters: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.HttpMessageConverters; SearchStrategy: all) found no beans"
}
],
HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.http.converter.StringHttpMessageConverter"
}
],
HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration#stringHttpMessageConverter: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.http.converter.StringHttpMessageConverter; SearchStrategy: all) found no beans"
}
],
JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.fasterxml.jackson.databind.ObjectMapper"
},
{
condition: "OnPropertyCondition",
message: "matched"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: com.fasterxml.jackson.databind.ObjectMapper; SearchStrategy: all) found the following [jacksonObjectMapper]"
}
],
JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration#mappingJackson2HttpMessageConverter: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; SearchStrategy: all) found no beans"
}
],
MultipartAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.multipart.support.StandardServletMultipartResolver,javax.servlet.MultipartConfigElement"
},
{
condition: "OnPropertyCondition",
message: "matched"
}
],
MultipartAutoConfiguration#multipartConfigElement: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: javax.servlet.MultipartConfigElement; SearchStrategy: all) found no beans"
}
],
MultipartAutoConfiguration#multipartResolver: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.web.multipart.MultipartResolver; SearchStrategy: all) found no beans"
}
],
ServerPropertiesAutoConfiguration: [
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
}
],
ServerPropertiesAutoConfiguration#serverProperties: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ServerProperties; SearchStrategy: current) found no beans"
}
],
WebMvcAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.servlet.DispatcherServlet,org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter"
},
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; SearchStrategy: all) found no beans"
}
],
WebMvcAutoConfiguration#hiddenHttpMethodFilter: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.web.filter.HiddenHttpMethodFilter; SearchStrategy: all) found no beans"
}
],
WebMvcAutoConfiguration#httpPutFormContentFilter: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.web.filter.HttpPutFormContentFilter; SearchStrategy: all) found no beans"
}
],
WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#beanNameViewResolver: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.web.servlet.View; SearchStrategy: all) found the following [error]"
}
],
WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#defaultViewResolver: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.web.servlet.view.InternalResourceViewResolver; SearchStrategy: all) found no beans"
}
],
WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#requestContextFilter: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.web.context.request.RequestContextListener,org.springframework.web.filter.RequestContextFilter; SearchStrategy: all) found no beans"
}
],
WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#viewResolver: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.web.servlet.ViewResolver; SearchStrategy: all) found the following [defaultViewResolver, beanNameViewResolver, mvcViewResolver] @ConditionalOnMissingBean (names: viewResolver; types: org.springframework.web.servlet.view.ContentNegotiatingViewResolver; SearchStrategy: all) found no beans"
}
],
WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter.FaviconConfiguration: [
{
condition: "OnPropertyCondition",
message: "matched"
}
],
WebSocketAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: javax.servlet.Servlet,javax.websocket.server.ServerContainer"
},
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
}
],
WebSocketAutoConfiguration.TomcatWebSocketConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.apache.catalina.startup.Tomcat,org.apache.tomcat.websocket.server.WsSci"
}
],
WebSocketAutoConfiguration.TomcatWebSocketConfiguration#websocketContainerCustomizer: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (names: websocketContainerCustomizer; SearchStrategy: all) found no beans"
}
],
ConfigurationPropertiesRebinderAutoConfiguration: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor; SearchStrategy: all) found the following [org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor]"
}
],
ConfigurationPropertiesRebinderAutoConfiguration#configurationPropertiesBeans: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.context.properties.ConfigurationPropertiesBeans; SearchStrategy: current) found no beans"
}
],
ConfigurationPropertiesRebinderAutoConfiguration#configurationPropertiesRebinder: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.context.properties.ConfigurationPropertiesRebinder; SearchStrategy: current) found no beans"
}
],
LifecycleMvcEndpointAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.boot.actuate.endpoint.EnvironmentEndpoint"
},
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
},
{
condition: "OnPropertyCondition",
message: "matched"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.cloud.context.restart.RestartEndpoint; SearchStrategy: all) found the following [restartEndpoint]"
}
],
LifecycleMvcEndpointAutoConfiguration#environmentManagerEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.boot.actuate.endpoint.EnvironmentEndpoint; SearchStrategy: all) found the following [environmentEndpoint]"
}
],
LifecycleMvcEndpointAutoConfiguration#refreshMvcEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.cloud.endpoint.RefreshEndpoint; SearchStrategy: all) found the following [refreshEndpoint]"
}
],
RefreshAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.cloud.context.scope.refresh.RefreshScope"
}
],
RefreshAutoConfiguration#environmentManager: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.context.environment.EnvironmentManager; SearchStrategy: all) found no beans"
}
],
RefreshAutoConfiguration#loggingRebinder: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.logging.LoggingRebinder; SearchStrategy: all) found no beans"
}
],
RefreshAutoConfiguration#refreshScope: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.context.scope.refresh.RefreshScope; SearchStrategy: all) found no beans"
}
],
RefreshEndpointAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.boot.actuate.endpoint.Endpoint"
}
],
RefreshEndpointAutoConfiguration#infoEndpointRebinderConfiguration: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration; SearchStrategy: all) found the following [org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration]"
}
],
RefreshEndpointAutoConfiguration.RefreshEndpointConfiguration: [
{
condition: "OnPropertyCondition",
message: "matched"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration; SearchStrategy: all) found the following [propertySourceBootstrapConfiguration]"
}
],
RefreshEndpointAutoConfiguration.RefreshEndpointConfiguration#refreshEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.endpoint.RefreshEndpoint; SearchStrategy: all) found no beans"
}
],
RefreshEndpointAutoConfiguration.RestartEndpointWithoutIntegration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnMissing classes not found: org.springframework.integration.monitor.IntegrationMBeanExporter"
}
],
RefreshEndpointAutoConfiguration.RestartEndpointWithoutIntegration#restartEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.context.restart.RestartEndpoint; SearchStrategy: all) found no beans"
}
],
NoopDiscoveryClientAutoConfiguration: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.client.discovery.DiscoveryClient; SearchStrategy: all) found no beans"
}
],
LoadBalancerAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.web.client.RestTemplate"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.cloud.client.loadbalancer.LoadBalancerClient; SearchStrategy: all) found the following [loadBalancerClient]"
}
],
ArchaiusAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.netflix.config.ConcurrentCompositeConfiguration,org.apache.commons.configuration.ConfigurationBuilder"
}
],
ArchaiusAutoConfiguration.ArchaiusEndpointConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.boot.actuate.endpoint.Endpoint"
}
],
ArchaiusAutoConfiguration.PropagateEventsConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.cloud.context.environment.EnvironmentChangeEvent"
},
{
condition: "OnPropertyCondition",
message: "matched"
}
],
FeignAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: feign.Feign"
}
],
FeignRibbonClientAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.netflix.loadbalancer.ILoadBalancer,feign.Feign"
}
],
FeignRibbonClientAutoConfiguration#feignClient: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: feign.Client; SearchStrategy: all) found no beans"
}
],
HystrixAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.netflix.hystrix.Hystrix,org.springframework.boot.actuate.health.HealthIndicator"
},
{
condition: "OnPropertyCondition",
message: "matched"
}
],
HystrixCircuitBreakerConfiguration.HystrixMetricsPollerConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsPoller,org.springframework.boot.actuate.metrics.GaugeService"
}
],
HystrixCircuitBreakerConfiguration.HystrixWebConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.boot.actuate.endpoint.Endpoint,com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet"
},
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
},
{
condition: "OnPropertyCondition",
message: "matched"
}
],
MetricsInterceptorConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.netflix.servo.monitor.Monitors,org.springframework.boot.actuate.metrics.reader.MetricReader"
}
],
MetricsInterceptorConfiguration.MetricsWebResourceConfiguration: [
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
}
],
ServoMetricsAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.netflix.servo.monitor.Monitors,org.springframework.boot.actuate.metrics.reader.MetricReader @ConditionalOnMissing classes not found: com.netflix.spectator.api.Registry"
}
],
ServoMetricsAutoConfiguration#monitorRegistry: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: com.netflix.servo.MonitorRegistry; SearchStrategy: all) found no beans"
}
],
ServoMetricsAutoConfiguration#servoMetricNaming: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.netflix.metrics.servo.ServoMetricNaming; SearchStrategy: all) found no beans"
}
],
ServoMetricsAutoConfiguration#servoMetricsConfig: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.netflix.metrics.servo.ServoMetricsConfigBean; SearchStrategy: all) found no beans"
}
],
RibbonAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.netflix.client.IClient,org.springframework.web.client.RestTemplate"
}
],
RibbonAutoConfiguration#loadBalancerClient: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.client.loadbalancer.LoadBalancerClient; SearchStrategy: all) found no beans"
}
],
RibbonAutoConfiguration.RibbonClientConfig: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: com.netflix.client.http.HttpRequest"
},
{
condition: "OnPropertyCondition",
message: "matched"
}
],
RxJavaAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: rx.Observable"
},
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
}
],
RxJavaAutoConfiguration.ObservableReturnValueHandlerConfig: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.web.method.support.AsyncHandlerMethodReturnValueHandler"
}
]
},
negativeMatches: {
AuditAutoConfiguration#authenticationAuditListener: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.security.authentication.event.AbstractAuthenticationEvent"
}
],
AuditAutoConfiguration#authorizationAuditListener: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.security.access.event.AbstractAuthorizationEvent"
}
],
CacheStatisticsAutoConfiguration: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.cache.CacheManager; SearchStrategy: all) found no beans"
}
],
CacheStatisticsAutoConfiguration.ConcurrentMapCacheStatisticsConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.cache.concurrent.ConcurrentMapCache"
},
{
condition: "ConditionEvaluationReport.AncestorsMatchedCondition",
message: "Ancestor 'org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration' did not match"
}
],
CacheStatisticsAutoConfiguration.EhCacheCacheStatisticsProviderConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.cache.ehcache.EhCacheCache,net.sf.ehcache.Ehcache,net.sf.ehcache.statistics.StatisticsGateway"
},
{
condition: "ConditionEvaluationReport.AncestorsMatchedCondition",
message: "Ancestor 'org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration' did not match"
}
],
CacheStatisticsAutoConfiguration.GuavaCacheStatisticsConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.cache.guava.GuavaCache"
},
{
condition: "ConditionEvaluationReport.AncestorsMatchedCondition",
message: "Ancestor 'org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration' did not match"
}
],
CacheStatisticsAutoConfiguration.HazelcastCacheStatisticsConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.hazelcast.core.IMap,com.hazelcast.spring.cache.HazelcastCache"
},
{
condition: "ConditionEvaluationReport.AncestorsMatchedCondition",
message: "Ancestor 'org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration' did not match"
}
],
CacheStatisticsAutoConfiguration.InfinispanCacheStatisticsProviderConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.infinispan.spring.provider.SpringCache"
},
{
condition: "ConditionEvaluationReport.AncestorsMatchedCondition",
message: "Ancestor 'org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration' did not match"
}
],
CacheStatisticsAutoConfiguration.JCacheCacheStatisticsProviderConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: javax.cache.Caching,org.springframework.cache.jcache.JCacheCache"
},
{
condition: "ConditionEvaluationReport.AncestorsMatchedCondition",
message: "Ancestor 'org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration' did not match"
}
],
CacheStatisticsAutoConfiguration.NoOpCacheStatisticsConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.cache.support.NoOpCacheManager"
},
{
condition: "ConditionEvaluationReport.AncestorsMatchedCondition",
message: "Ancestor 'org.springframework.boot.actuate.autoconfigure.CacheStatisticsAutoConfiguration' did not match"
}
],
CrshAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.crsh.plugin.PluginLifeCycle"
}
],
EndpointAutoConfiguration.FlywayEndpointConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.flywaydb.core.Flyway"
}
],
EndpointAutoConfiguration.LiquibaseEndpointConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: liquibase.integration.spring.SpringLiquibase"
}
],
EndpointMBeanExportAutoConfiguration#mbeanServer: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: javax.management.MBeanServer; SearchStrategy: all) found the following [mbeanServer]"
}
],
EndpointWebMvcHypermediaManagementContextConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.hateoas.Link"
}
],
EndpointWebMvcManagementContextConfiguration#logfileMvcEndpoint: [
{
condition: "EndpointWebMvcManagementContextConfiguration.LogFileCondition",
message: "Found no log file configuration"
}
],
EndpointWebMvcManagementContextConfiguration#shutdownMvcEndpoint: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.boot.actuate.endpoint.ShutdownEndpoint; SearchStrategy: all) found the following [shutdownEndpoint]"
},
{
condition: "OnEnabledEndpointCondition",
message: "The endpoint shutdown is disabled"
}
],
HealthIndicatorAutoConfiguration#applicationHealthIndicator: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.health.HealthIndicator; SearchStrategy: all) found the following [diskSpaceHealthIndicator]"
}
],
HealthIndicatorAutoConfiguration.CassandraHealthIndicatorConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.data.cassandra.core.CassandraOperations,com.datastax.driver.core.Cluster"
}
],
HealthIndicatorAutoConfiguration.DataSourcesHealthIndicatorConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.jdbc.core.JdbcTemplate"
}
],
HealthIndicatorAutoConfiguration.ElasticsearchHealthIndicatorConfiguration: [
{
condition: "OnEnabledHealthIndicatorCondition",
message: "All default health indicators are enabled by default"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.elasticsearch.client.Client; SearchStrategy: all) found no beans"
}
],
HealthIndicatorAutoConfiguration.JmsHealthIndicatorConfiguration: [
{
condition: "OnEnabledHealthIndicatorCondition",
message: "All default health indicators are enabled by default"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: javax.jms.ConnectionFactory; SearchStrategy: all) found no beans"
}
],
HealthIndicatorAutoConfiguration.MailHealthIndicatorConfiguration: [
{
condition: "OnEnabledHealthIndicatorCondition",
message: "All default health indicators are enabled by default"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.mail.javamail.JavaMailSenderImpl; SearchStrategy: all) found no beans"
}
],
HealthIndicatorAutoConfiguration.MongoHealthIndicatorConfiguration: [
{
condition: "OnEnabledHealthIndicatorCondition",
message: "All default health indicators are enabled by default"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.data.mongodb.core.MongoTemplate; SearchStrategy: all) found no beans"
}
],
HealthIndicatorAutoConfiguration.RabbitHealthIndicatorConfiguration: [
{
condition: "OnEnabledHealthIndicatorCondition",
message: "All default health indicators are enabled by default"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.amqp.rabbit.core.RabbitTemplate; SearchStrategy: all) found no beans"
}
],
HealthIndicatorAutoConfiguration.RedisHealthIndicatorConfiguration: [
{
condition: "OnEnabledHealthIndicatorCondition",
message: "All default health indicators are enabled by default"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.data.redis.connection.RedisConnectionFactory; SearchStrategy: all) found no beans"
}
],
HealthIndicatorAutoConfiguration.SolrHealthIndicatorConfiguration: [
{
condition: "OnEnabledHealthIndicatorCondition",
message: "All default health indicators are enabled by default"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.apache.solr.client.solrj.SolrServer; SearchStrategy: all) found no beans"
}
],
JolokiaAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.jolokia.http.AgentServlet"
}
],
ManagementServerPropertiesAutoConfiguration#securityProperties: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.security.config.annotation.web.configuration.EnableWebSecurity"
}
],
ManagementServerPropertiesAutoConfiguration#serverProperties: [
{
condition: "OnWebApplicationCondition",
message: "found web application StandardServletEnvironment"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ServerProperties; SearchStrategy: all) found the following [serverProperties]"
}
],
ManagementWebSecurityAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.security.config.annotation.web.configuration.EnableWebSecurity"
}
],
MetricExportAutoConfiguration#statsdMetricWriter: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.metrics.statsd.StatsdMetricWriter; SearchStrategy: all) found no beans"
},
{
condition: "OnPropertyCondition",
message: "@ConditionalOnProperty missing required properties spring.metrics.export.statsd.host "
}
],
MetricRepositoryAutoConfiguration.FastMetricServicesConfiguration: [
{
condition: "OnJavaCondition",
message: "Required JVM version 1.8 or newer found 1.8"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.metrics.GaugeService; SearchStrategy: all) found the following [servoMetricServices]"
}
],
MetricRepositoryAutoConfiguration.LegacyMetricRepositoryConfiguration: [
{
condition: "OnJavaCondition",
message: "Required JVM version older than 1.8 found 1.8"
}
],
MetricRepositoryAutoConfiguration.LegacyMetricServicesConfiguration: [
{
condition: "OnJavaCondition",
message: "Required JVM version older than 1.8 found 1.8"
}
],
MetricsChannelAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.messaging.MessageChannel"
}
],
MetricsDropwizardAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.codahale.metrics.MetricRegistry"
}
],
PublicMetricsAutoConfiguration#richGaugePublicMetrics: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.boot.actuate.metrics.rich.RichGaugeReader; SearchStrategy: all) found no beans"
}
],
PublicMetricsAutoConfiguration.CacheStatisticsConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.cache.CacheManager"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.cache.CacheManager; SearchStrategy: all) found no beans"
}
],
PublicMetricsAutoConfiguration.DataSourceMetricsConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: javax.sql.DataSource"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: javax.sql.DataSource; SearchStrategy: all) found no beans"
}
],
PublicMetricsAutoConfiguration.IntegrationMetricsConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.integration.monitor.IntegrationMBeanExporter"
}
],
MessageSourceAutoConfiguration: [
{
condition: "MessageSourceAutoConfiguration.ResourceBundleCondition",
message: "No bundle found for spring.messages.basename: messages"
}
],
SpringApplicationAdminJmxAutoConfiguration: [
{
condition: "OnPropertyCondition",
message: "@ConditionalOnProperty missing required properties spring.application.admin.enabled "
}
],
RabbitAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.amqp.rabbit.core.RabbitTemplate,com.rabbitmq.client.Channel"
}
],
AopAutoConfiguration.CglibAutoProxyConfiguration: [
{
condition: "OnPropertyCondition",
message: "@ConditionalOnProperty missing required properties spring.aop.proxy-target-class "
}
],
BatchAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.batch.core.launch.JobLauncher,org.springframework.jdbc.core.JdbcOperations"
}
],
CacheAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.cache.CacheManager"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.cache.interceptor.CacheAspectSupport; SearchStrategy: all) found no beans"
}
],
CacheAutoConfiguration.CacheManagerJpaDependencyConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
},
{
condition: "ConditionEvaluationReport.AncestorsMatchedCondition",
message: "Ancestor 'org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration' did not match"
}
],
EhCacheCacheConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: net.sf.ehcache.Cache,org.springframework.cache.ehcache.EhCacheCacheManager"
}
],
GuavaCacheConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.cache.guava.GuavaCacheManager"
}
],
HazelcastCacheConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.hazelcast.core.HazelcastInstance,com.hazelcast.spring.cache.HazelcastCacheManager"
}
],
InfinispanCacheConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.infinispan.spring.provider.SpringEmbeddedCacheManager"
}
],
JCacheCacheConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: javax.cache.Caching,org.springframework.cache.jcache.JCacheCacheManager"
}
],
CassandraAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.datastax.driver.core.Cluster"
}
],
CloudAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.cloud.config.java.CloudScanConfiguration"
}
],
PersistenceExceptionTranslationAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"
}
],
CassandraDataAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.datastax.driver.core.Cluster,org.springframework.data.cassandra.core.CassandraAdminOperations"
}
],
CassandraRepositoriesAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.datastax.driver.core.Session,org.springframework.data.cassandra.repository.CassandraRepository"
}
],
ElasticsearchAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.elasticsearch.client.Client,org.springframework.data.elasticsearch.client.TransportClientFactoryBean,org.springframework.data.elasticsearch.client.NodeClientFactoryBean"
}
],
ElasticsearchDataAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.elasticsearch.client.Client,org.springframework.data.elasticsearch.core.ElasticsearchTemplate"
}
],
ElasticsearchRepositoriesAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.elasticsearch.client.Client,org.springframework.data.elasticsearch.repository.ElasticsearchRepository"
}
],
JpaRepositoriesAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.data.jpa.repository.JpaRepository"
}
],
MongoDataAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.mongodb.Mongo,org.springframework.data.mongodb.core.MongoTemplate"
}
],
MongoRepositoriesAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.mongodb.Mongo,org.springframework.data.mongodb.repository.MongoRepository"
}
],
RedisAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.data.redis.connection.jedis.JedisConnection,org.springframework.data.redis.core.RedisOperations,redis.clients.jedis.Jedis"
}
],
RepositoryRestMvcAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration"
}
],
SolrRepositoriesAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.apache.solr.client.solrj.SolrServer,org.springframework.data.solr.repository.SolrRepository"
}
],
SpringDataWebAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.data.web.PageableHandlerMethodArgumentResolver"
}
],
FlywayAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.flywaydb.core.Flyway"
}
],
FreeMarkerAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: freemarker.template.Configuration,org.springframework.ui.freemarker.FreeMarkerConfigurationFactory"
}
],
GroovyTemplateAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: groovy.text.markup.MarkupTemplateEngine"
}
],
GsonAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.google.gson.Gson"
}
],
H2ConsoleAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.h2.server.web.WebServlet"
}
],
HypermediaAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.hateoas.Resource,org.springframework.plugin.core.Plugin"
}
],
HazelcastAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.hazelcast.core.HazelcastInstance"
}
],
HazelcastJpaDependencyAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.hazelcast.core.HazelcastInstance,org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
}
],
IntegrationAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.integration.config.EnableIntegration"
}
],
JacksonAutoConfiguration.JodaDateTimeJacksonConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.joda.time.DateTime,com.fasterxml.jackson.datatype.joda.ser.DateTimeSerializer,com.fasterxml.jackson.datatype.joda.cfg.JacksonJodaDateFormat"
}
],
JacksonAutoConfiguration.ParameterNamesModuleConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.fasterxml.jackson.module.paramnames.ParameterNamesModule"
}
],
DataSourceAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType"
}
],
DataSourceTransactionManagerAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.jdbc.core.JdbcTemplate,org.springframework.transaction.PlatformTransactionManager"
}
],
JndiDataSourceAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType"
}
],
XADataSourceAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: javax.transaction.TransactionManager,org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType"
}
],
JerseyAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.glassfish.jersey.server.spring.SpringComponentProvider"
}
],
JmsAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.jms.core.JmsTemplate"
}
],
JndiConnectionFactoryAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.jms.core.JmsTemplate"
}
],
ActiveMQAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: javax.jms.ConnectionFactory,org.apache.activemq.ActiveMQConnectionFactory"
}
],
ArtemisAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: javax.jms.ConnectionFactory,org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory"
}
],
HornetQAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: javax.jms.ConnectionFactory,org.hornetq.api.jms.HornetQJMSClient"
}
],
JooqAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.jooq.DSLContext"
}
],
LiquibaseAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: liquibase.integration.spring.SpringLiquibase"
}
],
MailSenderAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: javax.mail.internet.MimeMessage"
}
],
MailSenderValidatorAutoConfiguration: [
{
condition: "OnPropertyCondition",
message: "@ConditionalOnProperty missing required properties spring.mail.test-connection "
}
],
DeviceDelegatingViewResolverAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.mobile.device.view.LiteDeviceDelegatingViewResolver"
}
],
DeviceResolverAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.mobile.device.DeviceResolverHandlerInterceptor,org.springframework.mobile.device.DeviceHandlerMethodArgumentResolver"
}
],
SitePreferenceAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.mobile.device.site.SitePreferenceHandlerInterceptor,org.springframework.mobile.device.site.SitePreferenceHandlerMethodArgumentResolver"
}
],
MongoAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.mongodb.MongoClient"
}
],
EmbeddedMongoAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.mongodb.Mongo,de.flapdoodle.embed.mongo.MongodStarter"
}
],
MustacheAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.samskivert.mustache.Mustache"
}
],
HibernateJpaAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean,org.springframework.transaction.annotation.EnableTransactionManagement,javax.persistence.EntityManager"
}
],
ReactorAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: reactor.spring.context.config.EnableReactor,reactor.Environment"
}
],
FallbackWebSecurityAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.security.config.annotation.web.configuration.EnableWebSecurity"
}
],
SecurityAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.security.authentication.AuthenticationManager,org.springframework.security.config.annotation.authentication.configurers.GlobalAuthenticationConfigurerAdapter"
}
],
SecurityFilterAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer"
}
],
OAuth2AutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.security.oauth2.common.OAuth2AccessToken"
}
],
SendGridAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.sendgrid.SendGrid"
}
],
SessionAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.session.Session"
}
],
FacebookAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.social.config.annotation.SocialConfigurerAdapter,org.springframework.social.facebook.connect.FacebookConnectionFactory"
}
],
LinkedInAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.social.config.annotation.SocialConfigurerAdapter,org.springframework.social.linkedin.connect.LinkedInConnectionFactory"
}
],
SocialWebAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.social.connect.web.ConnectController,org.springframework.social.config.annotation.SocialConfigurerAdapter"
}
],
TwitterAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.social.config.annotation.SocialConfigurerAdapter,org.springframework.social.twitter.connect.TwitterConnectionFactory"
}
],
SolrAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.apache.solr.client.solrj.impl.HttpSolrServer,org.apache.solr.client.solrj.impl.CloudSolrServer,org.apache.solr.common.cloud.HashPartitioner"
}
],
ThymeleafAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.thymeleaf.spring4.SpringTemplateEngine"
}
],
TransactionAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.transaction.support.TransactionTemplate,org.springframework.transaction.PlatformTransactionManager"
}
],
JtaAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: javax.transaction.Transaction"
}
],
VelocityAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.apache.velocity.app.VelocityEngine,org.springframework.ui.velocity.VelocityEngineFactory"
}
],
DispatcherServletAutoConfiguration.DispatcherServletConfiguration#multipartResolver: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.web.multipart.MultipartResolver; SearchStrategy: all) found no beans"
}
],
EmbeddedServletContainerAutoConfiguration.EmbeddedJetty: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.eclipse.jetty.server.Server,org.eclipse.jetty.util.Loader,org.eclipse.jetty.webapp.WebAppContext"
}
],
EmbeddedServletContainerAutoConfiguration.EmbeddedUndertow: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: io.undertow.Undertow,org.xnio.SslClientAuthMode"
}
],
GsonHttpMessageConvertersConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.google.gson.Gson"
}
],
JacksonHttpMessageConvertersConfiguration.MappingJackson2XmlHttpMessageConverterConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.fasterxml.jackson.dataformat.xml.XmlMapper"
}
],
WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#dateFormatter: [
{
condition: "OnPropertyCondition",
message: "@ConditionalOnProperty missing required properties spring.mvc.date-format "
}
],
WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#localeResolver: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.web.servlet.LocaleResolver; SearchStrategy: all) found no beans"
},
{
condition: "OnPropertyCondition",
message: "@ConditionalOnProperty missing required properties spring.mvc.locale "
}
],
WebSocketAutoConfiguration.JettyWebSocketConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer"
}
],
WebSocketAutoConfiguration.UndertowWebSocketConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: io.undertow.websockets.jsr.Bootstrap"
}
],
WebSocketMessagingAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer"
}
],
RefreshEndpointAutoConfiguration.RestartEndpointWithIntegration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.integration.monitor.IntegrationMBeanExporter"
}
],
CommonsClientAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.boot.actuate.health.HealthIndicator"
},
{
condition: "OnPropertyCondition",
message: "matched"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.cloud.client.discovery.DiscoveryClient; SearchStrategy: all) found no beans"
}
],
CommonsClientAutoConfiguration.ActuatorConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.boot.actuate.endpoint.Endpoint"
},
{
condition: "ConditionEvaluationReport.AncestorsMatchedCondition",
message: "Ancestor 'org.springframework.cloud.client.CommonsClientAutoConfiguration' did not match"
}
],
LoadBalancerAutoConfiguration#restTemplateCustomizer: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.client.loadbalancer.RestTemplateCustomizer; SearchStrategy: all) found the following [restTemplateCustomizer]"
}
],
DiscoveryClientConfigServiceAutoConfiguration: [
{
condition: "OnPropertyCondition",
message: "@ConditionalOnProperty missing required properties spring.cloud.config.discovery.enabled "
}
],
EurekaClientConfigServerAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean,com.netflix.discovery.EurekaClient,org.springframework.cloud.config.server.config.ConfigServerProperties"
}
],
EurekaClientAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.netflix.discovery.EurekaClientConfig"
}
],
FeignAcceptGzipEncodingAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: feign.Feign"
},
{
condition: "OnPropertyCondition",
message: "@ConditionalOnProperty missing required properties feign.compression.response.enabled "
}
],
FeignContentGzipEncodingAutoConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: feign.Feign"
},
{
condition: "OnPropertyCondition",
message: "@ConditionalOnProperty missing required properties feign.compression.request.enabled "
}
],
FeignRibbonClientAutoConfiguration.HttpClientConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: feign.httpclient.ApacheHttpClient"
}
],
FeignRibbonClientAutoConfiguration.OkHttpConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: feign.okhttp.OkHttpClient"
}
],
MetricsInterceptorConfiguration.MetricsRestTemplateAspectConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.aspectj.lang.JoinPoint"
},
{
condition: "OnPropertyCondition",
message: "matched"
},
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.web.client.RestTemplate; SearchStrategy: all) found no beans"
}
],
MetricsInterceptorConfiguration.MetricsRestTemplateConfiguration: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.web.client.RestTemplate; SearchStrategy: all) found no beans"
}
],
RibbonEurekaAutoConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList"
}
]
},
parent: {
positiveMatches: {
PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) found no beans"
}
],
ConfigurationPropertiesRebinderAutoConfiguration: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnBean (types: org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor; SearchStrategy: all) found the following [org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor]"
}
],
ConfigurationPropertiesRebinderAutoConfiguration#configurationPropertiesBeans: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.context.properties.ConfigurationPropertiesBeans; SearchStrategy: current) found no beans"
}
],
ConfigurationPropertiesRebinderAutoConfiguration#configurationPropertiesRebinder: [
{
condition: "OnBeanCondition",
message: "@ConditionalOnMissingBean (types: org.springframework.cloud.context.properties.ConfigurationPropertiesRebinder; SearchStrategy: current) found no beans"
}
],
EncryptionBootstrapConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnClass classes found: org.springframework.security.crypto.encrypt.TextEncryptor"
}
]
},
negativeMatches: {
EncryptionBootstrapConfiguration.RsaEncryptionConfiguration: [
{
condition: "OnClassCondition",
message: "required @ConditionalOnClass classes not found: org.springframework.security.rsa.crypto.RsaSecretEncryptor"
}
],
EncryptionBootstrapConfiguration.VanillaEncryptionConfiguration: [
{
condition: "OnClassCondition",
message: "@ConditionalOnMissing classes not found: org.springframework.security.rsa.crypto.RsaSecretEncryptor"
},
{
condition: "EncryptionBootstrapConfiguration.KeyCondition",
message: "Keystore nor key found in Environment"
}
]
}
}
}

And here's my application.yml

profile:
  ribbon:
    listOfServers: https://ws-profile.vdev.server.com
    eureka:
        enabled: false

and finally my feign client

@FeignClient("profile")
public interface ProfileRibbonClient {

    @RequestMapping(method = RequestMethod.GET,
            value = "/ProfileProvider/resources/customer/{username}",
            consumes = MediaType.APPLICATION_JSON_VALUE)
    public ProfileServiceResponse getUserProfile(@PathVariable("username") String username);
}
ProfileRibbonClient profileClient = Feign.builder()
                .requestInterceptor(
                        new BasicAuthRequestInterceptor(credentials.split(":")[0],
                                credentials.split(":")[1])
                )
                .options(new Request.Options(3000, 3000))
                .target(ProfileRibbonClient.class, url);

Comment From: pauldelano

I got past this issue by adding a SpringMvcContract contract to the Feign builder: Feign.builder() .contract(new SpringMvcContract()) ...

Comment From: spencergibb

@shivangshah you need to use the @EnabledFeignClients and @FeignClient annotations according to the documentation. Using the builder directly doesn't support ribbon automatically either.

Comment From: shivangshah

@spencergibb I did have @EnabledFeignClients and @FeignClient. It still didn't work. I ended up doing what @pauldelano mentioned. Adding SpringMvcContract manually. It's worth looking into why sometimes SpringMvcContract is picked up at runtime (I have a separate project that does this out-the-box) but sometimes it doesn't.

Comment From: spencergibb

Then you are missing something else in your project. An example project would be helpful.

Comment From: cforce

i have the same issue ..trying to figure it out

Comment From: andreldm

If you use @RequestMapping then Feign.builder().contract(new SpringMvcContract()) as noted by pauldelano fixed the problem to me. Another option is to replace @RequestMapping by @RequestLine.

Comment From: spencergibb

@andreldm you shouldn't have to do that. @EnabledFeignClients and @FeignClient does that for you.

Comment From: andreldm

@spencergibb you're right, I just wanted to highlight that @RequestLine instead of @RequestMapping is another way to "fix" the problem, the one I'm actually using.

Comment From: marioroman

I'm facing the same issue. I'm using Feign with Consul, everything looks great with services and Consul but when I try to get the service client it blows up.

With something like this in the consumer class, should work right?

@RequestMapping(value = "accesscontrol")
@EnableDiscoveryClient
@EnableFeignClients
public class AccessControlController {

  @Autowired
  private ProfileClient client;
...
}

Spring cannot autowired that client.

Any thoughts?

Thanks

Comment From: kayhu

I'm facing the same issue. After some investigation, I find the problem might be introduce by spring-cloud-starter-feign.

spring-cloud-starter-feign implements a default Contract class "SpringMvcContract" and it replace the original one in Contract interface. SpringMvcContract override the "processAnnotationOnMethod" method which breaks the logic of getting HTTP method.

Paste a small piece of code from SpringMvcContract: protected void processAnnotationOnMethod(MethodMetadata data, Annotation methodAnnotation, Method method) { if (!RequestMapping.class.isInstance(methodAnnotation) && !methodAnnotation .annotationType().isAnnotationPresent(RequestMapping.class)) { return; }

Comment From: spencergibb

If any of you (@kayhu, @marioroman, @andreldm, @shivangshah, @cforce) can provide a project that recreates the issue (not comments in an issue, but a real project), please open a new issue.

Comment From: fabriciogpp

Same issue here.

Caused by: java.lang.IllegalStateException: Method push not annotated with HTTP method type (ex. GET, POST)

No solution described above worked for me. Can anyone help?

Comment From: barrer

@fabriciogpp https://github.com/OpenFeign/feign/#basics

17.3 Creating Feign Clients Manually
http://cloud.spring.io/spring-cloud-static/Dalston.SR4/single/spring-cloud.html#_creating_feign_clients_manually

pojo:

public class User...

service:

@RestController
public class HelloController ...
    public User getUser(@RequestParam("name") String name) {
        User user = new User();
        user.setName(name + "[result]");
        System.out.println("name: " + name);
        return user;
    }
    ...

client:

public interface HelloClient {
    @RequestLine("POST /getUser?name={name}")
    User getUser(@Param("name") String name);
}

use:

import feign.codec.Decoder;
import feign.codec.Encoder;
import feign.Client;
public class Demo {
    private HelloClient helloClient;
    @Autowired
    public Demo(Decoder decoder, Encoder encoder, Client client) {
        this.userAnotherService = Feign.builder().client(client)
                .encoder(encoder)
                .decoder(decoder)
                // for spring security
                .requestInterceptor(new BasicAuthRequestInterceptor("username", "password"))
                .target(UserAnotherService.class, "http://your-service-name");
    }
...
...method...
// output --> hello spring cloud![result]
System.out.println(helloClient.getUser("hello spring cloud!").getName());
...

I tested successfully!

Comment From: rodrigoords

I got this problem too and add contract to my builder work like a charme, but now i have other problem my get end point is configured with spring properties file:

I have one Interface with a get method:

@GetMapping("${sms.sender.ping}") SmsResponse verify();

When i try to send a check request: ` @Override public AtlasSmsRequestSender getOnlineServer() {

for(String server : serverOptions){
  AtlasSmsRequestSender target = Feign.builder()
                                      .contract( new SpringMvcContract())
                                      .target(AtlasSmsRequestSender.class, server);

  SmsResponse response = target.verify();
  if(AtlasResponseStatus.OK.name().equals(response.getStatus()))
    return target;
}
throw new IllegalArgumentException("No Avaiables server to send sms!");

}`

Feign dont bind propertie value and try to send a request to /${sms.sender.ping}

<title>Error 400 </title>\n</head>\n<body>\n<h2>HTTP ERROR: 400</h2>\n<p>Problem accessing /${sms.sender.ping}. Reason:\n<pre> Bad Request</pre></p>

without use Feing.builder() this work great. Any Idea whats is happening?

Comment From: vikashsaini01

Caused by: java.lang.IllegalStateException: Method findUserByUsername not annotated with HTTP method type (ex. GET, POST) Still facing this issue, the project is available @ https://github.com/TaskFirstApp/Gateway

config and eureka for easy setup https://github.com/TaskFirstApp/ConfigService & https://github.com/TaskFirstApp/EurekaServer

Comment From: spencergibb

@vikashsaini01 by default, the spring configuration of feign does not use feign annotations.

import feign.Param;
import feign.RequestLine;

It uses Spring MVC annotations such as @GetMapping, etc...

Comment From: vikashsaini01

Thanks! (y) Understood, worked with this.

    @Bean
    public Contract feignContract() {
        return new Contract.Default();
    }

Comment From: aeltayary

I got past this issue by adding a SpringMvcContract contract to the Feign builder: Feign.builder() .contract(new SpringMvcContract()) ...

Yes this is the only way to fix this Also , I do not think that you need @EnableFeignClients if you build your feign programatically

Comment From: studeyang

I got past this issue by changing @PostMapping to @RequestMapping.

Comment From: chokribs

I got past this issue by changing @PostMapping to @RequestMapping.