How to create HttpParams using object for HTTP request on Angular 4.3 using HttpClient

makkasi picture makkasi · Oct 10, 2017 · Viewed 7.5k times · Source

I have exactly angular version 4.3.2 and I cannot update because of dependencies. So for now I stick to this version. I have object with dynamic params (there can be other keys and values inside):

let query = {
    param1: 1,
    param2: 'a'
}

and I want to do something like:

params = new HttpParams();
params = params.append(query);
return this.httpClient.get(this.config.apiUrl + '/items', {
            params: params,
            headers: headers
        });

but there is not such params.append(query) method. So I need to iterate over the query keys and to add them one by one to the params. Is there easier solution for this?

Edit1:

according this answer this can be done since angular 5.0.0-beta.6 (2017-09-03), but is not solution for me. https://stackoverflow.com/a/46317900/1995258

Answer

H S Progr picture H S Progr · Aug 18, 2020

It can be done by using fromObject property

const params = {
    email:'[email protected]',
    password:'qwerty'
}

const body = new HttpParams({fromObject: params})