robe-common/src/main/java/io/robe/common/service/search/SearchFactory.java
@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;
    }
@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.

@return SearchModel