AWS API Gateway / DynamoDB 'Одно или несколько значений параметров недопустимы: отсутствует элемент в элементе " - PullRequest
0 голосов
/ 20 февраля 2019

Я создал конечную точку POST, используя API-шлюз, который использует действие PutItem DynamoDB для добавления пользователя в базу данных.

Работает, когда я тестирую из консоли API-шлюза, но когдапоразить одну и ту же конечную точку с помощью AXIOS в моем приложении. Возвращается сообщение об ошибке:

"Одно или несколько значений параметров недопустимы: отсутствует ключ электронной почты в элементе"

Ясно, что обе консоли тестирования /запросы axios содержат атрибут / ключ электронной почты.

Насколько я могу судить, это несоответствие невозможно.

Запрос, который работает из консоли API

{
"email": "fake@email.com",
"firstName": "benji"
}

Фрагмент AXIOS, который возвращает ошибку:

axios({
    method: "POST",
    body: {
      "email": this.email,
      "firstName": this.firstName
    },
    url: endpoint
  })
    .then(response => {
      console.log(response);
    })
    .catch(err => {
      console.log(err);
    });

1 Ответ

0 голосов
/ 25 февраля 2019

Простая ошибка в моем исходном коде.Axios получает объект со свойством data, а не body.Должно выглядеть так:

axios({
    method: "POST",
    data: {
      "email": this.email,
      "firstName": this.firstName
    },
    url: endpoint
  })
    .then(response => {
      console.log(response);
    })
    .catch(err => {
      console.log(err);
    });
...