jhipster客户端将实体过滤器传递到服务器端?

Maosheng Wang

阅读http://www.jhipster.tech/entities-filtering/之后,我可以得到jhipster生成的邮递员应用过滤器的工作。

例如,我可以通过以下方式在邮递员上获得正确的结果:http:// localhost:8080 / api / requests?page = 0&size = 20&sort = model,asc&sort = id&id.in = 20000,20001

我的问题是如何使其在生成的角度客户端应用程序上工作?

我在../shared文件夹中看到它具有“ request-util.ts”。在其中,有一个名为“查询”和“过滤器”的参数。

export const createRequestOption = (req?: any): BaseRequestOptions => {
const options: BaseRequestOptions = new BaseRequestOptions();
if (req) {
    const params: URLSearchParams = new URLSearchParams();
    params.set('page', req.page);
    params.set('size', req.size);
    if (req.sort) {
        params.paramsMap.set('sort', req.sort);
    }
    params.set('query', req.query);
    params.set('filter', req.filter);

    options.params = params;
}
return options;

};

阅读JHipster:使用条件过滤实体-预期的Angular客户端方法我尝试了服务器方式来传递{}或[]来进行查询或筛选。但是,我无法使其正常工作。

在服务器端,日志说:RequestResource.getAllRequests(),参数为[s] = [RequestCriteria {},页面请求[数字:0,大小21,排序:巧遇日期:DESC]]

“ RequestCriteria {}”字词没有得到我传入的任何内容。

任何人都有想法,我该如何使它起作用?非常感谢。

Maosheng Wang

作为临时方式,这是我当前将过滤器从客户端传递到服务器的方式:

像这样将参数req对象传递给模型函数,组成一个过滤器属性some.service.ts query(req?:any)

 req.filter =  {
        'contactName.contains': "Smith"
        'contactNumber.contains':"186"
    };

然后更改../shared文件夹request-util.ts文件

if (req.filter) {
        for (const k in req.filter) {
            if (k) {
              params.append(k, req.filter[k]);
           }
        }

    }
    // params.set('filter', req.filter);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章