Skip to content

Allow use of form-backing object for client requests #32142

Open
@aykborstelmann

Description

@aykborstelmann

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    in: webIssues in web modules (web, webmvc, webflux, websocket)type: enhancementA general enhancement

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions