public class QuerydslHttpRequestContextAwareServletFilter extends Object implements javax.servlet.Filter
QuerydslPredicateArgumentResolver to perform type-conversion on
non-String paths. Original values decorated with value operator are managed
in a QuerydslHttpRequestContext which is available to
ExpressionProvider thru QuerydslHttpRequestContextHolder
though that's dependent on threading. See -
QuerydslHttpRequestContextHolderStrategy.
Note that this will still require request to only contain certain
value-operators, as the true value of search input (which is value wrapped
within operators) must still suffice type-conversion needs. For example, if
an EnumPath can have values - LOCKED, ACTIVE, the search input can
have ne(LOCKED) but can not have startsWith(LOC) as latter would fail
type-conversion. For advanced needs to support maximum possible range of
value-operators on individual path, it may be desired to disable the
type-conversion of these search input values which can be accomplished using
QuerydslPredicateArgumentResolverBeanPostProcessor in which case this
filter can be disabled by consuming application.
| Constructor and Description |
|---|
QuerydslHttpRequestContextAwareServletFilter(Map<String,Class<?>> URI_SEARCH_RESOURCE_TYPE_MAPPINGS)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
destroy() |
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain) |
void |
init(javax.servlet.FilterConfig filterConfig) |
public void init(javax.servlet.FilterConfig filterConfig)
throws javax.servlet.ServletException
init in interface javax.servlet.Filterjavax.servlet.ServletExceptionpublic void doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
throws IOException,
javax.servlet.ServletException
doFilter in interface javax.servlet.FilterIOExceptionjavax.servlet.ServletExceptionpublic void destroy()
destroy in interface javax.servlet.FilterCopyright © 2018–2019. All rights reserved.