我正在使用 AWS AppSync。当请求失败时,我正在尝试使用解析器响应映射模板中的$util.error()帮助程序(此处记录)输出一些错误详细信息。无论我做什么,我都无法让 AppSync 输出输出中的data和errorInfo字段error。
这是我拥有的 Lambda。
exports.handler = (event, context, callback) => {
callback(null, {
data: {
name: "Test",
},
errorMessage: "Some error Message",
errorType: "SomeErrorType",
errors: {
"foo": "bar",
"bazz": "buzz",
}
})
};
Run Code Online (Sandbox Code Playgroud)
如您所见,它非常简单。我只是用返回一个对象data,errors,errorMessage和errorType属性。
这是我的响应映射模板
$utils.error($context.result.errorMessage, $context.result.errorType, $context.result.data, $context.result.errors)
Run Code Online (Sandbox Code Playgroud)
再次,非常直接。我只是直接使用来自 Lambda 的字段抛出错误。
但是当我执行查询时,我得到了这个:
{
"data": {
"myField": null
},
"errors": [
{
"path": [
"myField"
],
"data": null,
"errorType": …Run Code Online (Sandbox Code Playgroud)