использование углового 5 http.post () для извлечения данных через конечную точку покоя - PullRequest
0 голосов
/ 10 мая 2018

У меня есть приведенный ниже код, для которого я использую данные из REST API с использованием метода http.post () в угловом формате 5.

return this._http.post(this.basePath,null, {
      headers: this.myHeaders,
      params: {
        transaction_id : "22"
      } ,
      observe: 'response',
      responseType: 'json'
    })
      .catch(this._errorHandler);

Я могу успешно получить данные, используя http.get(), но я получаю 500 (Внутренняя ошибка сервера) при использовании сообщения.

Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Мне просто нужно было передать параметры как часть параметров тела в методе post, как показано ниже.

let bodyParams = {transaction_id : "22"};

return this._http.post(this.basePath,bodyParams , {
          headers: this.myHeaders,,
          observe: 'response',
          responseType: 'json'
        })
          .catch(this._errorHandler);
0 голосов
/ 11 мая 2018

Что ожидает бэкэнд-сервис при создании HTTP POST? В настоящее время вы отправляете пустое тело, что, скорее всего, является причиной HTTP 500 (Внутренняя ошибка сервера).

То, что вы можете сделать запрос HTTP GET, не всегда означает, что вы можете сделать запрос HTTP POST для того же URL. POST часто ожидают тела некоторого описания. Если POST не поддерживается, можно ожидать, что бэкэнд-сервис вернет HTTP 406 (метод не поддерживается), но это зависит от того, насколько хорошо написана бэкэнд-служба.

...