I'm new in Angular. I've a class called User:
export class User {
  private id: number;
  private name: string;
  private surname: string;
  get Id(): number {
    return this.id;
  }
  set Id(newId: number) {
    this.id = newId;
  }
  get Name(): string {
    return this.name;
  }
  set Name(newName: string) {
    this.name = newName;
  }
  get Surname(): string {
    return this.surname;
  }
  set Surname(newSurname: string) {
    this.surname = newSurname;
  }
}
...a function to retrive an array of user:
  getValues() {
    this.usersService.getUsers()
      .subscribe((users: User[]) => this.dataSource = users);
  }
and a method to retrive the users array from backend WebApi:
getUsers(): Observable<User[]> {
    return this.http.get<User[]>(this.usersSearchUrl)
      .pipe(
      tap(users => this.log(`fetched users`)),
      catchError(this.handleError('getUsers', []))
      );
  }
finally the json returned from the webapi:
[{"id":"1","name":"Alberico","surname":"Gauss"},{"id":"2","name":"Anassimandro","surname":"Dirac"},{"id":"3","name":"Antongiulio","surname":"Poisson"}]
I would have expected that the call would automatically mapped the User class, instead it only gives me an array of type User, in fact if I write something in my component .subscribe((utenti: Utente[]) => console.log(utenti[0].Surname)); the console writes me "undefined". Can you tell me where I'm wrong? Thanks
 
     
     
     
    