我有一个无法理解的奇怪问题。这是调用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时,它们以某种方式未传递,但是为什么呢?这不是正确的方法还是什么?
答案 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中的错误。