У меня есть рабочая функция, которая отображает выходные данные вызова службы на объект, а затем на массив.
Ответ от API выглядит следующим образом:
[
{
"paper_id": "0015023cc",
"metadata": { }
"abstract": []
...
}
{
"paper_id": "0015023cc",
"metadata": { }
"abstract": []
...
}
]
papersList(): Observable<Paper[]> {
const url = `${this.allPapersUrl}/`;
return this.http
.get(url)
.pipe(
map((data: any[]) =>
data.map(
(item: any) =>
new Paper(item.paperId, item.metadata, item.paperAbstract)
)
)
);
}
Как я могу написать функцию для другого сервиса, который возвращает тот же объект вместо массива?
Выход API из нового сервиса будет:
{
"paper_id": "0015023cc",
"metadata": { }
"abstract": []
...
}
Код, который я пытаюсь завершить ..
fetchPaper(pvalue: string): Observable<Paper> {
const url = `${this.paperDetailUrl}`;
params.append('paperid', pvalue);
const url = `${this.paperDetailUrl}`;
return this.http
.get(url, {params: params})
.pipe( ???