问题描述
难以将接口作为HTTP get请求的参数传递
sample.service.ts
export interface Product{
Id:any;
product : any;
}
public getProduct(item:Product): Observable<any> {
const base = this.http.get('/api/getproducts',item);
const request = base.pipe(
map((data: TokenResponse) => {
console.log('display data==>',data);
return data;
})
);
return request;
}
sample.component.ts
this.ps.getProduct(this.product).subscribe(
data => {
console.log("results",data.results)
});
预先感谢
解决方法
使用HttpParams
传递参数,如下所示:
const headers = new HttpHeaders().append('header','value');
const params = new HttpParams().append('Id',item.ID);
const params = new HttpParams().append('product',item.product);
this.http.get('url',{headers,params});