#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 */);