我目前正在学习英雄之旅教程。 在HTTP章节中,我不明白如何从服务器调用相应的英雄,因为它看起来只有一个url传递给模拟服务器,对于任何HttpClient.get(或其他CRUD)方法...... / p>
private heroesUrl = 'api/heroes'
和所有英雄(〜数组)的相应get方法:
getHeroes (): Observable<Hero[]> {
return this.http.get<Hero[]>(this.heroesUrl)
}
如果只返回一个英雄:
/** GET hero by id. Will 404 if id not found */
getHero(id: number): Observable<Hero> {
const url = `${this.heroesUrl}/${id}`;
return this.http.get<Hero>(url).pipe(
tap(_ => this.log(`fetched hero id=${id}`)),
catchError(this.handleError<Hero>(`getHero id=${id}`))
);
这个网址会返回什么内容?我的意思是它只是一个网址,数据库api连接如何在后台响应url(或id传递)?
其他后期方法也是如此:
addHero (hero: Hero): Observable<Hero> {
return this.http.post<Hero>(this.heroesUrl, hero, httpOptions).pipe(..)
}
它有一个url参数,但如何将实际的英雄传递给服务器?英雄身份在哪里创建?
答案 0 :(得分:0)
这个网址会返回什么内容?
执行HttpClient.get时,结果始终是可观察的。所以你会收到一个可观察的。
我的意思是它只是一个网址,怎么样 数据库api连接在后台响应响应 网址(或ID传递)?
正如您在app.module.ts
:
// The HttpClientInMemoryWebApiModule module intercepts HTTP requests
// and returns simulated server responses.
// Remove it when a real server is ready to receive requests.
HttpClientInMemoryWebApiModule.forRoot(
InMemoryDataService, { dataEncapsulation: false }
)
它有一个url参数,但是如何将实际的英雄传递给 服务器?英雄身份在哪里创建?
您可以在此处找到有关“工作原理”的更多信息:https://github.com/angular/in-memory-web-api