![](/img/trans.png)
[英]Angular 2 : Get 404 error in http.get call with Observable return
[英]Return Observable of single item from http.get in Angular 5
我有一項將請求發送到內存Web API的服務。 該服務包括一個我想查詢(通過查詢字符串)單個項目的API的方法。
無論在通用的http.get方法中指定單個項目,我都會返回一個數組。
這與我僅返回單個項目時使用ID而不是查詢使用單個項目的API調用API的情況不同。
this.http.get<ITrack>(`api/tracks/1`)
.subscribe(track => console.log(JSON.stringify(track)));
退貨
{"id":1,"artist":"Radiohead","name":"OK Computer","durationSeconds":61,"nominator":null,"playlistPosition":1}
在哪里
this.http.get<ITrack>(`api/tracks/?playlistPosition=1`)
.subscribe(track => console.log(JSON.stringify(track)));
退貨
[{"id":1,"artist":"Radiohead","name":"OK Computer","durationSeconds":61,"nominator":null,"playlistPosition":1}]
我可以接到第二個電話,只返回以下內容:
this.http.get<ITrack>(`api/tracks/?playlistPosition=1`)
.pipe(
map(t => t[0])
)
.subscribe(track => console.log(JSON.stringify(track)));
但是,我不能使用諸如single或first之類的方法,因為編譯器希望返回的是ITrack類型。
在這里退貨的正確方法是什么?
因此,如果端點始終返回列表,請調用以ITrack
鍵入的get
方法。
只需將.get<ITrack>(...)
替換為.get<ITrack[]>(...)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.