阅读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 {}”字词没有得到我传入的任何内容。
任何人都有想法,我该如何使它起作用?非常感谢。
作为临时方式,这是我当前将过滤器从客户端传递到服务器的方式:
像这样将参数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] 删除。
我来说两句