Я использую Angular-In-Memory-Web-Api для макета бэкэнда при разработке приложения на Angular 7. Мой FakeBackendService выглядит так:
import { Injectable } from '@angular/core';
import { InMemoryDbService, RequestInfo, ResponseOptions } from 'angular-in-memory-web-api';
import { Data } from './data';
@Injectable({
providedIn: 'root'
})
export class FakeBackendService implements InMemoryDbService {
dbData: Array<Data> = new Array(
new Data(1, "Malcom", "09/11/1980", "Married"),
new Data(2, "Reginald", "04/07/1992", "Single"),
);
constructor() { }
createDb() {
console.warn("createDb() CALLED");
console.warn({ "tasks": this.dbData });
return { "tasks": this.dbData }
}
}
У меня есть служба, котораявызов этого с намерением вернуть строго типизированную наблюдаемую, например, так:
base_url: string = "/api/";
tasks_endpoint: string = "tasks";
constructor(private http: HttpClient) { }
getTasks() : Observable<Data[]> {
return this.http.get<Data[]>(this.base_url + this.tasks_endpoint);
}
Это не работает, потому что возвращаемые данные действительно являются объектом, значение ['tasks'] которого на самом деле будет содержатьотформатированные данные я ищу.Я просто не знаю, как взломать результат get, чтобы вернуть эти конкретные данные.* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Я пытался преобразовать данные в самом компоненте, но это не работает.Кроме того, я чувствую, что сервис должен возвращать правильные данные, и компонент не должен беспокоиться об этом.
Я новичок в Angular, но я провел массу исследований, видео,и учебники.Есть множество вещей, которые я не совсем понимаю прямо сейчас.
Буду признателен за любую помощь.