Is your feature request related to a problem? Please describe. If I want to change collection format to CSV for the all methods, I have to add @CollectionFormat annotation on each method.
Describe the solution you'd like @CollectionFormat could be a class level annotation, or I could provide a property. Manual feign client creation should have this option.
Describe alternatives you've considered Here's my workaround on how to change the default format from EXPLODED to CSV:
feignClientBuilder.forType(MyClient.class, "my-" + id)
.url(settings.getUrl())
.customize(builder -> builder
.requestInterceptor(
new BasicAuthRequestInterceptor(settings.getUsername(), settings.getPassword())
)
.contract(new SpringMvcContract() {
@Override
protected boolean processAnnotationsOnParameter(MethodMetadata data, Annotation[] annotations, int paramIndex) {
data.template().collectionFormat(CollectionFormat.CSV);
return super.processAnnotationsOnParameter(data, annotations, paramIndex);
}
})
)
.build();
I can change it in the interceptor also but it's too late to take effect, QueryTemplates are already build with EXPLODED by that point.
Comment From: OlgaMaciaszek
@Sam-Kruglov It makes sense. Would you like to submit a PR?
Comment From: OlgaMaciaszek
Fixes gh-596.