Угловая помощь http.get - PullRequest
       5

Угловая помощь http.get

0 голосов
/ 28 октября 2018

У меня есть API, к которому я пытаюсь получить доступ.Пример, данный мне в документации API, работает в моей оболочке bash (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 голосов
/ 28 октября 2018

Если вы передаете данные в 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>'}
      });
 }
...