* Test to verify sub level client error
Error is described in https://github.com/spring-cloud/spring-cloud-openfeign/issues/331
Application fails when one Feign client is `org.TopClient` and second is in subpackage: `org.sub.SubClient`
The error reason is that `SubClient` is registered twice
* Fix for @EnableFeignClients(clients) scans classes in nested packages twice
https://github.com/spring-cloud/spring-cloud-openfeign/issues/331
(cherry picked from commit fe62b0db9002052a72e5bbb9fdc5458993c16951)
# Conflicts:
# spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientsRegistrar.java
* delete unused code
(cherry picked from commit 4df865d1d64fc0a9b5e37ea4c6466a0dbe485141)
* add file header
* Apply review
Co-authored-by: michal <michal@michal-desktop>
* Implemented ability to provide default query parameters and headers to feign clients.
Issue was mentioned in №284
* Removed wrong names of test data. Replaced with correct ones.
* Thread sleep was repalced with more verbose TimeUnit sleep
* Fixed more names of the clients.
* added support to disable feign parent configurations, fixes gh-132
* added feign context test
* added feign context test class
* fix documentation on feign client
* removed inherit parent setting from annotation gh-132
* fix cherry pick commits gh-132
* add unit test gh-132
* add unit test gh-132
* Fix double @RequestMapping with empty value
* Fix code style
* Fix for review
* add author to SpringMvcContract
* split SpringMvcContractTests#testDoubleRequestMapping() test
* add support for an FeignErrorDecoderFactory
this factory will be used if no ErrorDecoder was found. This factory allows to create a ErrorDecoder based on the type. This fixes#308
* add assertions to make it more readable
* add test for checking to not overwrite an existing ErrorDecoder when provided in the configuration
* add test for checking to not overwrite an existing ErrorDecoder when provided in the configuration
* add test for checking to not overwrite an existing ErrorDecoder when provided in the configuration
Summary of changes follows:
- Delegate ALL requestBody encoding where Content-Type is multipart/form-data to the SpringFormEncoder.
- Introduce RequestPartParameterProcessor to deal with @RequestPart annotations, adds parameters to MethodMetadata.formParams().
- Wrap HttpMessageConversionException in EncodeException.
- Add tests to verify expected behaviour.
However there still exists a gap in functionality where any user defined pojo will be serialized as a Map<String,String>, as there is currently no way for SpringFormEncoder to know about the Content-Type of the individual parts beyond MultipartFile, boxed primitive types (which are treated as text/plain) and other built-in types inherited from FormEncoder.