angular5和http GET查询参数-看起来像专用对象(HttpParams或UrlSearchParams)不起作用

时间:2018-08-17 08:19:31

标签: angular typescript angular5

我有一个无法理解的奇怪问题。这是调用REST端点的代码:

this.http.get<AllApplicationType[]>(environment.SUDS_API_SERVICE_URL + environment.SUDS_ALL_APPLICATIONS_URL, this.setQueryParams(page, size)).toPromise() ...

其中setQueryParams函数如下所示:

setQueryParams(page?: number, size?: number): {} {
const startFrom = page * size + 1;
const params = new HttpParams();
params.set('startFrom', startFrom.toString());
params.set('maxRecords', size.toString());
return params;

}

当请求到达我的后端查询参数为null时,它们以某种方式未传递,但是为什么呢?这不是正确的方法还是什么?

1 个答案:

答案 0 :(得分:-1)

只是发生了使用HttpParams或URLSearchParams对象根本不起作用的情况。在我的情况下,所有尝试使用这2种方法均失败。 唯一的方法是像这样显式构建参数:

setRequestParams(page?: number, size?: number): {} {
const startFrom = page * size + 1;
const params = {'startFrom': startFrom.toString(), 'maxRecords': size.toString()};
const options = {params: params};
return options;

}

我相信这是Angular HttpClient中的错误。