我正在尝试访问一个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}'
我有多近??
答案 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>'}
});
}