Угловой запрос типизированных данных ответа с метаданными

#angular #rxjs

#угловой #rxjs

Вопрос:

Все ответы с моего бэкенда (за исключением ошибок) возвращаются в этом формате:

 {  "data": [  ...  ]  "meta": { //Always same structure  "itemsPerPage": 20  "offset": 0  "pages": 6554  "total": 131071  } }  

В угловых интерфейсах:

 export interface user {  name: string  id: number }  export interface meta {  itemsPerPage: number  offset: number  pages: number  total: number }  

Оформление запроса

 this.http.getlt;user[]gt;(...).subscribe(data =gt; {  this.users = data.data;  this.meta = data.meta })  

Как я могу задать правильный тип ответа здесь (я ожидаю данные свойств типа user[] и мета типа meta)?

Ответ №1:

Вы могли бы использовать здесь универсальный интерфейс, чтобы вы могли повторно использовать интерфейс.

 export interface IDataResponselt;Tgt; {  data: Arraylt;Tgt;;  meta: {  itemsPerPage: number;  offset: number;  pages: number;  total: number;  }; }  

А теперь укажите это в своем звонке.

 this.http.getlt;IDataResponselt;usergt;gt;('url/here')  .subscribe(response =gt; /* do something with the response */);