AWS API Gateway / DynamoDB'一个或多个参数值无效:项目中缺少键”

时间:2019-02-20 14:42:15

标签: amazon-web-services amazon-dynamodb aws-api-gateway

我已经使用API​​网关构建了一个POST端点,该端点依赖于DynamoDB的PutItem操作将用户添加到数据库中。

当我在API Gateway控制台中进行测试时,它可以正常工作,但是当我在应用程序中使用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 :(得分:0)

我的原始代码中有一个简单的错误。 Axios采用具有“数据”属性而不是“主体”属性的对象。应该看起来像这样:

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