Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays angular angular

Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports binding to Iterables such as Arrays


There you don't need to use this.requests= when you are making get call(then requests will have observable subscription). You will get a response in observable success so setting requests value in success make sense(which you are already doing).

this._http.getRequest().subscribe(res=>this.requests=res);


Remove this.requests from

ngOnInit(){  this.requests=this._http.getRequest().subscribe(res=>this.requests=res);}

to

ngOnInit(){  this._http.getRequest().subscribe(res=>this.requests=res);}

this._http.getRequest() returns a subscription, not the response value.The response value is assigned by the callback passed to subscribe(...)


You can declare the books (on line 2) as an array:

title: any = 'List of books are represted in the bookstore';books: any = []; constructor(private service:  AppService){}ngOnInit(){  this.getBookDetails();}getBookDetails() {    this.service.getBooks().subscribe(books => {        this.books = books.json();        console.log(this.books);    });}