从angular2调用REST api

时间:2016-12-12 12:30:03

标签: node.js rest angular

我已经完成了angular2英雄教程https://angular.io/docs/ts/latest/tutorial/,现在我正试图调用我用Node,Postgresql和Express制作的ral REST api。

调用API的angular2代码如下所示:

...

export class HeroService{

  private heroesUrl = 'http://192.168.4.13:3000/api/boxes'; //URL til api
  private headers = new Headers({'Content-Type': 'application/json'});
  constructor(private http: Http) {}

  getHeroes(): Promise<Hero[]> {
    return this.http.get(this.heroesUrl)
     .toPromise()
     .then(response => response.json().data as Hero[])
     .catch(this.handleError);
  }

...

浏览器控制台显示:

发生错误响应{_body:对象,状态:404,ok:false,statusText:&#34;未找到&#34;,标题:标题...} EXCEPTION:未捕获(在承诺中):状态响应:找不到404:URL

Picture from REST API

我可以看到我的API未被调用。 对于我错过了哪些想法?

最好的问候。

1 个答案:

答案 0 :(得分:1)

我发现我需要删除这些行以便后端被调用:

// Imports for faking the http service - in-memory web api
import { InMemoryWebApiModule }  from 'angular-in-memory-web-api';
import { InMemoryDataService }   from './in-memory-data.service';

我认为Angular2在不使用时会忽略它们,但导致新的后端API无法被调用。