Данные AWS appsync $ util.error () всегда равны нулю - PullRequest
0 голосов
/ 27 апреля 2019

Я использую шаблон резолвера версии 2018-05-29 для операции UpdateItem, которая должна выдавать ошибку, когда ожидаемая версия! = Версия. Мой шаблон ответа выглядит так:

#if($ctx.error)
  $util.error($ctx.error.message, $ctx.error.type, $ctx.result)
#end
$util.toJson($ctx.result)

Третий аргумент функции $ util.error () - это параметры данных, и независимо от того, что я делаю, они возвращаются к нулю. Вот что я получаю:

{
  "data": {
    "updateUser": null
  },
  "errors": [
    {
      "path": [
        "updateUser"
      ],
      "data": null,
      "errorType": "DynamoDB:ConditionalCheckFailedException",
      "errorInfo": null,
      "locations": [
        {
          "line": 97,
          "column": 3,
          "sourceName": null
        }
      ],
      "message": "The conditional request failed (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ConditionalCheckFailedException; Request ID: D1JD3QSIGLFT9UEULBOQJ7UUI7VV4KQNSO5AEMVJF66Q9ASUAAJG)"
    }
  ]
}

Моя мутация обновления выглядит так:

mutation UpdateUser($updateUserInput: UpdateUserInput!) {
  updateUser(input: $updateUserInput) {
    id
    email
    name
    createdAt
    updatedAt
    version
    pictures {
      id
    }
  }
}

Неважно, что я делаю, мне кажется, что данные не равны нулю. Какие-либо предложения. Я смотрел на похожие вопросы, но они, кажется, старые.

...