Я получаю список загруженных файлов из конечной точки сервера, который возвращает его в следующем формате:
[
{
"filename": "setup.cfg",
"id": 1,
"path": C:\\back-end\\uploads\\setup.cfg",
"uploaded_at": "Fri, 01 Jun 2018 09:25:19 -0000"
},
{
"filename": "57760713_1467275948.jpg",
"id": 2,
"path": "C:\\back-end\\uploads\\57760713_1467275948.jpg",
"uploaded_at": "Mon, 04 Jun 2018 09:09:59 -0000"
},
.
.
.
]
И у меня есть следующий интерфейс TypeScript, чтобы выровнять их с:
export interface UploadModel {
id: number;
name: string;
path: string;
uploadedAt: Date;
}
Как видите, извлеченные данные используют соглашение об именах snake_case как uploaded_at
, а интерфейс использует соглашение о CamelCase как uploadedAt
.
Я хотел бы использовать следующий фрагмент для получения данныхиз бэкэнда:
getUploads(): Observable<UploadModel[]> {
this.http.get(UPLOADS_ENDPOINT)
.map((response: Response) => {
// parse the json response here, and return an array of UploadModels
});
}
Есть ли какой-нибудь умный способ отобразить эти два представления без отображения массива объектов JSON?