Séb*_*all 10 amazon-web-services reactjs amazon-cognito aws-lambda aws-amplify
我目前正在尝试使用aws-amplify
react lib将数据发布到由 aws api-gateway 触发的 aws lambda 函数。
这是代码:
API.post("snippets","snippets/", {
body: data,
}).then(response => response).catch(console.log(err))
Run Code Online (Sandbox Code Playgroud)
在主要情况下,一切正常。
但是我的 lambda 函数旨在验证输入数据并返回一个状态代码400
,返回的有效负载如下所示:
{
"errors": [
{
"field": "title",
"message": "This field is required"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想捕获这些错误以便在前端显示它们,但aws-amplify
似乎有一个未记录的行为。
默认情况下,400
返回的状态代码会抛出一条默认错误消息:
Error: Request failed with status code 400
at createError (createError.js:16)
at settle (settle.js:18)
at XMLHttpRequest.handleLoad (xhr.js:77)
Run Code Online (Sandbox Code Playgroud)
有没有办法获得返回的有效载荷而不是这个神奇的错误?
Séb*_*all 18
事实证明,在幕后,aws-amplify
使用 Axios 进行 http 调用。
使用 Axios 时,你必须console.log(error.response)
:https : //github.com/axios/axios/issues/960
这是我所做的修复:
API.post("snippets","snippets/", {
body: data,
}).then(response => response).catch(error => console.log(error.response.data))
Run Code Online (Sandbox Code Playgroud)
aws-amplify
文档上的拉取请求已打开:https : //github.com/aws/aws-amplify/pull/633
归档时间: |
|
查看次数: |
7101 次 |
最近记录: |