Angular 4 http get with parameters - difference between search and parameters

In an Angular 4 HTTP package ('@ angular / http'), the URLSearchParams object can be passed in a get request. When assigning a parameter object in a query method, what is the difference between using search and parameters as an attribute to pass a value to?

For example, what is the difference between the following two pieces of code:

let params = new URLSearchParams(); params.set('param1', 'xyz'); this.http.get('url', { search: params }); 

and

 let params = new URLSearchParams(); params.set('param1', 'xyz'); this.http.get('url', { params: params }); 

Thank you very much.

+5
source share
2 answers

Search has been deprecated since version 4.0, and params is the preferred way to pass query parameters.

+12
source

You can use the HttpParams class!

Check this snippet:

 import { HttpParams } from '@angular/common/http'; private setParams(parameters): HttpParams { let params = new HttpParams(); let keys = Object.keys(parameters); keys.forEach( (key) => { params = params.append(key, parameters[key].toString()); }); return params; } 

And in your request:

 let params = this.setParams({}); http.get(your_url, {params: params}); 
-1
source

Source: https://habr.com/ru/post/1269829/


All Articles