Angular http.get协助

时间:2018-10-28 02:57:26

标签: angular angular-cli

我正在尝试访问一个api。 api文档给我的示例可以在我的bash shell(git bash)中使用,但是尝试使用Angular构建应用程序时,我无法使其正常工作。

当我将给出的这个示例粘贴到git bash中时,效果很好:

curl -v 'https://api.r8.beer/v1/api/graphql/' \
-H 'content-type: application/json' \
-H 'accept: application/json' \
-H 'x-api-key: <my-api-key>' \
--data-binary '{"query":"query {\n beer(id: 4934) {\n id\n name\n 
}\n}","variables":"{}","operationName":null}'

这是我到目前为止在我的角度应用程序中所拥有的,这给了我404错误:

getBeer(){
return this.http.get('https://api.r8.beer/v1/api/graphql/', {
headers:{
  'content-type': 'application/json', 
  'accept': 'application/json', 
  'x-api-key': '<my-api-key>'}
  });
 } 

虽然不确定在上面的代码中将这部分放在哪里,如果存在,它将阻止404响应:

--data-binary '{"query":"query {\n beer(id: 4934) {\n id\n name\n 
}\n}","variables":"{}","operationName":null}'

我有多近??

1 个答案:

答案 0 :(得分:1)

如果您将数据传递给cUrl并指定内容类型,那么您正在执行POST请求

尝试类似的东西

getBeer(){

    let data = {
        query:"{\n beer(id: 4934) {\n id\n name\n }\n}",
        variables:"{}",
        operationName:null
    };

    return this.http.post('https://api.r8.beer/v1/api/graphql/', data, {
    headers:{
       'x-api-key': '<my-api-key>'}
      });
 }