angular: HttpClient map response
Default value that returns new HttpClient is Object. It automatically calls response.json()
internally.
You can tell HttpClient what type the response will be, so:
this.httpClient.get<Timeslot[]>(...)
.map((timeSlots) => {
...
where timeSlots
's type will be Timeslot[]
See more information about typecheking in new HttpClient
- https://angular.io/guide/http#typechecking-the-response
Since Angular 6/7 there have been a couple of modifications to the implementation of the RxJS library within Angular.
Hence, the RxJS operators are now located at 'rxjs/operators' instead of 'rxjs/add/operator/:OperatorName'. Also, these operators can no longer be directly chained to the observebale, instead they have to be chained through the pipe() method.
So, the new way of implementing this must look like this:
import {map} from 'rxjs/operators';
this.http.get(...)
.pipe(
map( response => {
// TODO: Do Your Staff Here!
} )
);
Please, refer to the specific Angular's documentation here for more details.
* Here I'm assuming that your HttpClient
component is available under this.http
prop.