Class DtoAwareRestrictedPageableArgumentResolver
java.lang.Object
in.co.akshitbansal.springwebquery.resolver.DtoAwareRestrictedPageableArgumentResolver
- All Implemented Interfaces:
org.springframework.web.method.support.HandlerMethodArgumentResolver
public class DtoAwareRestrictedPageableArgumentResolver
extends Object
implements org.springframework.web.method.support.HandlerMethodArgumentResolver
DTO-based resolver for
Pageable parameters annotated with
RestrictedPageable.
This resolver validates sort selectors against a DTO contract and maps
those selectors to entity paths (using MapsTo where provided) before
returning the final pageable.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@Nullable ObjectresolveArgument(org.springframework.core.MethodParameter parameter, @Nullable org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest, @Nullable org.springframework.web.bind.support.WebDataBinderFactory binderFactory) Resolves and validates aPageableargument with DTO-based sorting rules.booleansupportsParameter(org.springframework.core.MethodParameter parameter) Determines whether this resolver should handle the given parameter.
-
Constructor Details
-
DtoAwareRestrictedPageableArgumentResolver
public DtoAwareRestrictedPageableArgumentResolver()
-
-
Method Details
-
supportsParameter
public boolean supportsParameter(org.springframework.core.MethodParameter parameter) Determines whether this resolver should handle the given parameter.- Specified by:
supportsParameterin interfaceorg.springframework.web.method.support.HandlerMethodArgumentResolver- Parameters:
parameter- method parameter under inspection- Returns:
truewhen parameter isPageablewithRestrictedPageableandWebQueryhas a DTO class
-
resolveArgument
public @Nullable Object resolveArgument(org.springframework.core.MethodParameter parameter, @Nullable org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest, @Nullable org.springframework.web.bind.support.WebDataBinderFactory binderFactory) throws Exception Resolves and validates aPageableargument with DTO-based sorting rules.- Specified by:
resolveArgumentin interfaceorg.springframework.web.method.support.HandlerMethodArgumentResolver- Parameters:
parameter- controller method parameter being resolvedmavContainer- current MVC containerwebRequest- current requestbinderFactory- binder factory- Returns:
- validated pageable with DTO selectors translated to entity paths
- Throws:
Exception- when resolution fails
-