angularjs Tour of Heroes 示例,如何实现 Web API Server



我是Angular的新手,我曾经使用PHP和一些JavaScript编码。所以我阅读了英雄之旅示例代码,但仍然没有清楚地理解 HttpClient 的概念。假设我将使用 MongoDB 和 Node.js 准备 Web API 服务器。如何准备代码以接受英雄之旅示例中的 API 请求?关于如何执行此操作的任何示例代码?

同样在英雄之旅示例中,hero.service.ts 中的部分执行大部分 http 进程。

export class HeroService {
private heroesUrl = 'api/heroes';  // URL to web api

这个"api/英雄"指的是哪里?我知道"in-memory-data.service.ts"将处理所有http请求。但是当我看到里面的代码时,它看起来太简单了。您能否解释一下"in-memory-data.service.ts"如何提供API请求所需的数据。例如,搜索英雄函数:

searchHeroes(term: string): Observable<Hero[]> {
if (!term.trim()) {
// if not search term, return empty hero array.
return of([]);
}
return this.http.get<Hero[]>(`${this.heroesUrl}/?name=${term}`).pipe(
tap(_ => this.log(`found heroes matching "${term}"`)),
catchError(this.handleError<Hero[]>('searchHeroes', []))
);
}

该函数使用"api/heroes"并提供查询词(英雄名称(,并将返回英雄数组。我只是不明白为什么http.get可以查看api/heroes并获取Hero数组。api/heroes 和"in-memory-data.service.ts"之间的联系在哪里?谢谢。

对于想要开发API服务器以提供Hero内容的人,如果您只想使用nodejs开发API服务器,则可以首先阅读下面的帖子:

没有框架的节点 JS

如果你想用 Node.js 和 Express 开发 API 服务器,请查看下面的链接:

Medium.com,使用 node.js 和 express 构建 rest API.js

阅读上面的文章,您应该能够将数据库数据发送到客户端。要发送 Hero 对象,您可以将其包装在 JSON 中。

最新更新