@ Override public SearchModel provide ( ) { SearchModel searchModel = new SearchModel ( ) ; searchModel . setResponse ( response ) ; String method = getMethod ( ) ; if ( "GET" . equals ( method ) ) { MultivaluedMap < String , String > queryParameters = getUriInfo ( ) . getQueryParameters ( ) ; for ( Map . Entry < String , List < String > > param : queryParameters . entrySet ( ) ) { if ( param . getValue ( ) . get ( 0 ) == null ) continue ; if ( "_q" . equalsIgnoreCase ( param . getKey ( ) ) ) { searchModel . setQ ( param . getValue ( ) . get ( 0 ) ) ; } else if ( "_limit" . equalsIgnoreCase ( param . getKey ( ) ) ) { searchModel . setLimit ( Integer . parseInt ( param . getValue ( ) . get ( 0 ) ) ) ; } else if ( "_offset" . equalsIgnoreCase ( param . getKey ( ) ) ) { searchModel . setOffset ( Integer . parseInt ( param . getValue ( ) . get ( 0 ) ) ) ; } else if ( "_fields" . equalsIgnoreCase ( param . getKey ( ) ) ) { searchModel . setFields ( param . getValue ( ) . get ( 0 ) . split ( "," ) ) ; } else if ( "_sort" . equalsIgnoreCase ( param . getKey ( ) ) ) { searchModel . setSort ( param . getValue ( ) . get ( 0 ) . split ( "," ) ) ; } else if ( "_filter" . equalsIgnoreCase ( param . getKey ( ) ) ) { searchModel . setFilterExpression ( param . getValue ( ) . get ( 0 ) ) ; } } } return searchModel ; }
implemented just to GET method .