javascript - 从给定 URL 获取数据时正确映射到接口(interface)

标签 javascript angular typescript rxjs single-page-application

我是 Angular 的新手,我试图将返回的 json 映射到我的界面但失败了。

这是我拥有的代码的链接。

最佳答案

您不需要使用映射,因为您的响应是对象,而且我看到您希望从中映射数据属性。

一种方法是

  getTestData(): Observable<TestObject>{
    const url = 'https://api.myjson.com/bins/11x4bx';

    // return this.http.get(url).pipe(
    //   map(response => ((response || {} as any).data || []).map(testData => this.mapTest(testData))));


    return this.http.get(url).pipe(
      map((resp: any) => {
          return <TestObject> {
            id: resp.data.id,
            view: resp.data.view,
            resourceName: resp.data.resourcename,
            loadCapacity: resp.data.loadcapacity
          }
      })
      );


  }

更干净的方式

  getTestData(): Observable<TestObject>{
    const url = 'https://api.myjson.com/bins/11x4bx';
    return this.http.get(url).pipe(pluck('data'));
  }

关于javascript - 从给定 URL 获取数据时正确映射到接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57848004/

相关文章:

javascript - 测试 Angular 6 中的登录组件

html - 如何在 Angular svg map 上选择区域?

jquery - 如何在 Aurelia 中导入和使用 RobinHerbots 的 Inputmask

javascript - axios响应请求返回一个奇怪的数组

javascript - Facebook api 权限范围问题

angular - 如何在安装或升级之前知道 npm 包与 Angular 版本的兼容性?

angular - 没有任何声明模块的类型文件是否有意义?

javascript - Yeoman 生成器添加新文件生成现有项目

javascript - docker alpine with node js and chromium headless - puppeter - 无法启动 chrome

javascript - Jquery UI 自动完成 JSON 文件的结果