如何通过角度服务对propublica.org进行网络api调用

问题描述 投票:1回答:1

我正在尝试使用来自Angular 8服务的propublica.org大会api获取信息。

是第一次使用Http调用外部Web api时,我在阅读这里的文档感到很苦恼:https://projects.propublica.org/api-docs/congress-api/#requests

我能找到的最好的方法显示了如何拨打电话在这里:https://gist.github.com/renderorange/f2a8bd0ffc6eeefe79f13de684631387

但是我不知道如何将其转换为使用angular的HttpClient。

我正在从组件内部调用服务。我已经建立了它的结构。但是,我对propublica在其文档中对jsonp的引用感到困惑。我尝试使用angular的jsonp,但与上面链接中的示例javascript调用无关。

在组件中,我正在尝试记录响应


    this.CongressService
      .getStateCounts()
      .subscribe(data=>console.log(data));

服务

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http'

import { PropublicaKey } from '../../assets/config/propublica'

@Injectable({
  providedIn: 'root'
})
export class CongressService {

  constructor(private HttpClient:HttpClient) { }

  getStateCounts() {
    let options = {
      url: 'https://api.propublica.org/congress/v1/states/members/party.json',
      headers: {
        'X-API-Key': 'my-api-key'
      },
      json: true
    };

    return this.HttpClient.jsonp(options.url, headers);
  }
}

目标是记录数据,因此我知道api调用有效。

感谢您的帮助!

javascript angular rest angular-httpclient angular-fullstack
1个回答
-1
投票

返回this.HttpClient.get(url,options)

© www.soinside.com 2019 - 2024. All rights reserved.