这就是我发送请求的方式。
localhost:8080/api/user?id=53380&name=raj&start=1&rows=5
其中id = 53380&name = raj是一个对象。
尝试设置参数并按以下方式发送。
let params: URLSearchParams = this.objToSearchParams(this.search); // this.search = {id: 53380, name: raj}
params.set("start", 1);
params.set("rows", 5)
return this._http.get('/api/user', {params: params})
.map(response => response['result'])
.catch(this.handleError);
objToSearchParams(obj): URLSearchParams{
let params: URLSearchParams = new URLSearchParams();
for (var key in obj) {
if (obj.hasOwnProperty(key))
params.set(key, obj[key]);
}
return params;
}
执行此代码后,此请求不会发送任何API调用请求
localhost:8080/api/user
没有参数发送。我该如何实现?我需要手动将其一一转换吗?
答案 0 :(得分:0)
要做类似的事情:
getCustomerByCustomerName(customerName : string):Observable<Customer[]>{
return this.http.get<Customer[]>(`${this.api.catchApiUrl()}Customer/GetCustomerByCustomerName?customerName=${customerName}`)
}
您可以这样做:
getCustomerByCustomerName(custName : string):Observable<Customer[]>{
return this.http.get<Customer[]>(`${this.api.catchApiUrl()}Customer/GetCustomerByCustomerName`,{
params : {
customerName : custName
}
})
}
尝试逐个参数地进行操作,如果可行,将其放在对象中。
我发现this也许您可以找到所需的内容。