我已经使用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);
});
答案 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);
});