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,
    });

}