Невозможно POST с использованием Angular 7: заголовок не работает - PullRequest
0 голосов
/ 21 мая 2019

В настоящее время я создаю приложение Angular 7 и пытаюсь реализовать следующий сценарий вызова HTTP API:

Запрос на токен приложения: https://(URL)/token

Тип запроса: POST

Заголовки: Принять: application / json

Тело запроса: пусто

У меня есть класс Service в приложении Angular, и код выглядит следующим образом:

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

Функция requestToken реализована следующим образом:

requestToken() {
 let headers = new HttpHeaders();
 headers = headers.set('Accept', 'application/json');

 return this.http.post(this.configUrl + '/token', headers);
}

Служба затем вызывается в одном из компонентов приложения: -

getToken() {
 this.service.requestToken().subscribe( res => {
 console.log(res);
 }, error => {
   console.log(error);
 });
}

Когда я запускаю приложениеЯ получаю ошибку 404 Not Found в консоли.Я использовал Postman, чтобы сделать вызов API, установив заголовок «Accept» на «application / json», а затем указав url как https://(URL)/token, и я успешно получил ответ.Но я не могу заставить его работать через Angular.

Что еще нужно сделать, чтобы правильно установить заголовок в Angular?Кроме того, у меня нет возможности проверить, включен ли CORS на сервере API, так как это сторонняя служба, которую я пытаюсь вызвать.

Любая помощь будет оценена.Спасибо

1 Ответ

0 голосов
/ 21 мая 2019

Решил проблему. Изменен вызов POST на следующий:

requestToken() {

    const httpHeaders = new HttpHeaders({
      'Accept': 'application/json'
    });

    return this.http.post(this.configUrl + '/token', { body: ''}, { headers: httpHeaders });
  }

Пришлось добавить пустой параметр 'body'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...