类型

时间:2017-12-13 16:59:44

标签: json angular typescript ionic-framework

我想从我的网址发出http请求,但是我有这个错误:

  

json类型'文章'

上不存在

我不知道为什么......

这是我的代码:

    getAllArticles() : Observable<Articles[]>{
    return this.http.get<Articles>(this.urlAllArticles)
      .map(res => {
      return res.json().results.map(item => {
        return new Articles(
        item.id,
        item.titre);
      });
    });
  }

界面IArticles:

    export interface IArticles {
  id: number;
  titre: string;
}

班级文章:

    class Articles {
  constructor(public id: number,
              public titre: string)
  {
  }
}

建议后的结果:

    getAllArticles() : Observable<IArticles>{
    return this.http.get<any>(this.urlAllArticles)
      .map(res => {
      return res.results.map(item => {
        return new Articles(
          item.id,
          item.titre
        );
      });
    });
  }

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

根据我们的对话,您需要更改map方法以访问与json响应匹配的属性

// service.ts
getAllArticles() : Observable<Articles[]>{
    return this.http.get<GetArticlesResponse[]>(this.urlAllArticles)
        .map(res => {
            return res.map(item => {
                return new Articles(
                    item.id,
                    item.titre
                );
            });
        });
}

// used to strictly type the http return type
export interface GetArticlesResponse {
    id: number;
    titre: string;
}