Angular: 请求带有很多参数的 HTTP GET
Angular: Request HTTP GET with many params
我有一个包含许多参数(~50 个查询参数)的 HTTP GET 请求,
目前我提出了这个请求
get(contact?: Contact): Observable<response[]> {
let params: HttpParams = new HttpParams();
if (contact.company !== null) params = params.append('company', contact.company);
if (contact.lastname !== null) params = params.set('lastname', contact.lastname);
if (contact.firstname !== null) params = params.set('firstname', contact.firstname);
return this.http.get<response[]>(`url/contact/`, {
params: params,
});
}
如何使用 50 个查询参数改进此请求?
感谢
您可以执行以下操作,
get(contact?: Contact): Observable<response[]> {
let headers: HttpHeaders = new HttpHeaders();
Object.keys(contact).forEach(key => {
if(contact[key]){
headers = headers.append(key, contact[key]);
}
});
return this.http.get<response[]>(`url/contact/`, {
params: params,
});
}
我有一个包含许多参数(~50 个查询参数)的 HTTP GET 请求,
目前我提出了这个请求
get(contact?: Contact): Observable<response[]> {
let params: HttpParams = new HttpParams();
if (contact.company !== null) params = params.append('company', contact.company);
if (contact.lastname !== null) params = params.set('lastname', contact.lastname);
if (contact.firstname !== null) params = params.set('firstname', contact.firstname);
return this.http.get<response[]>(`url/contact/`, {
params: params,
});
}
如何使用 50 个查询参数改进此请求?
感谢
您可以执行以下操作,
get(contact?: Contact): Observable<response[]> {
let headers: HttpHeaders = new HttpHeaders();
Object.keys(contact).forEach(key => {
if(contact[key]){
headers = headers.append(key, contact[key]);
}
});
return this.http.get<response[]>(`url/contact/`, {
params: params,
});
}