Open
Description
Affects: 6.+
I really appreciate the HttpServiceProxyFactory
, it is a great feature to easily create a client matching a interface.
However, for large APIs, we usually like to encapsulate multiple parameters in convenience classes, which spring web supports with databinding.
public interface EndpointApi {
@GetExchange("/endpoint")
EndpointResponse getProcedures(
EndpointFilterOptions filterOptions,
EndpointSortOptions sortOptions,
EndpointPaginationOptions paginationOptions);
}
@ParameterObject
public record GetProceduresFilterOptions(
@BindParam("customName")
UUID filterOne,
String stringFilter,
Boolean booleanFilter,
Set<Types> setFilter) {}
}
However, when creating a client for EndpointApi
and using it, no HttpServiceArgumentResolver
exists per default to handle such parameters.
I would appreciate this feature out of the box, while I am are that, HttpServiceProxyFactory
provides a way to register custom argumentResolvers
.