Я работаю с AppSync, и кажется, что ошибки проверки не вызывают перехват ошибок в шаблоне отображения ответов. Значения атрибута содержат входные данные AWSPhone. Если я ввожу неверный формат для AWSPhone, ошибка (как и ожидалось):
{
"data": null,
"errors": [
{
"path": null,
"locations": [
{
"line": 2,
"column": 17,
"sourceName": null
}
],
"message": "Validation error of type WrongType: argument 'input.company.phoneNumber' with value 'StringValue{value='+1-541-754-300'}' is not a valid 'AWSPhone' @ 'createProfile'"
}
]
}
Мой шаблон сопоставления запросов выглядит так:
{
"version": "2018-05-29",
"operation": "PutItem",
"key": {
"id": $util.dynamodb.toDynamoDBJson($ctx.args.input.client),
},
"attributeValues": $util.dynamodb.toMapValuesJson($ctx.args.input),
}
Мой шаблон сопоставления ответов:
#if($ctx.error)
$util.error("Custom error response")
#end
$util.toJson($ctx.result)
Ясно, что ошибка действительно происходит, но она не вызывает случай в моем шаблоне ответа. Как мне вернуть пользовательское сообщение для ошибки проверки? Возможно ли вообще в этом сценарии?