Угловое 6 Преобразование в объект - PullRequest
0 голосов
/ 28 мая 2018

У меня есть эта функция в Angular 6:

  getClients (): Observable<Client[]> {
    return this.http.get<Client[]>(this.clientsUrl, 
      { headers: httpOptions.headers, 
        observe: 'body', 
        responseType: 'json' 
      })
      .pipe(
        tap(clients => { 
          this.log(clients + ` fetched clients`)
        }),
        catchError(this.handleError('getClients', []))
      );
  }

Но я получаю от API это:

{
    "id": 1,
    "legal_name": "Company Name, Inc.",
    "trade_name": "Company",
    "created_at": "2018-05-27T23:16:53.669Z",
    "updated_at": "2018-05-27T23:16:53.669Z"
}

Моя модель в Pascal Case

export class Client {

public tradeName: string;
public legalName: string; 

constructor(legalName: string, tradeName: string) {
    this.legalName = legalName;
    this.tradeName = tradeName;
}}

Как можно сопоставить legal_name с legalName и trade_name с tradeName для обеспечения согласованности в коде?

1 Ответ

0 голосов
/ 29 мая 2018

Добавьте следующий код в Obserbable

 getClients (): Observable<any[]> {
    return this.http.get<any[]>(this.clientsUrl, 
      { headers: httpOptions.headers, 
        observe: 'body', 
        responseType: 'json' 
      }).map(res =>{
           return { 
              legalName: res.legal_name,
              tradeName: res.trade_name,
              //... 
           }
      });

  }

Если в интерфейсе клиента правильно указаны поля имени, замените any[] на Client[]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...