FeignClientBuilder.Builder<T> is generic but none of the DRY methods return the generic Builder<T> type, instead they return Builder.
The following code does not compile without an explicit cast because the generic type is lost..
SomeApi someApi = feignClientBuilder.forType(SomeApi.class, "something")
.url("http://something/something")
.build();
this code however does compile:
SomeApi someApi = (SomeApi) feignClientBuilder.forType(SomeApi.class, "something")
.url("http://something/something")
.build();
If the DRY methods returned Builder<T> we wouldn't need to do the cast.
Comment From: aaronjwhiteside
Duplicate of #215