У меня очень простая структура схемы в моем AWS AppSync, использующая DynamoDB в качестве бэкэнда.
type Demo {
id: ID!
name: String!
date: String!
}
type DemoConnection {
items: [Demo]
nextToken: String
}
input ListFilter {
limit: Int
nextToken: String
}
И у меня есть этот запрос, чтобы перечислить все демонстрационные версии
listAllDemo(input: ListFilter): DemoConnection
, для которых решателивыглядит как -
{
"version" : "2017-02-28",
"operation" : "Scan",
"limit": #if($context.arguments.limit) $context.arguments.limit #else 10 #end,
"nextToken": #if($context.arguments.input.nextToken) "$context.arguments.input.nextToken" #else null #end
}
и шаблон отображения ответов как
{
"items": $util.toJson($context.result.items),
"nextToken": $util.toJson($context.result.nextToken)
}
Я создал около 13 записей для проверки "nextToken".Он вернул токен вместе с 10 результатами, и я использовал его для получения других результатов.Есть какой-то другой API, который удаляет эти записи из БД.Что происходит, даже когда у меня сейчас 7 записей в БД, "listAll
" возвращает nextToken, чего не должно быть, хотя при использовании этого nextToken следующий набор результатов пуст.
Я не могу понять, почемуя получаю этот nextToken, даже когда нет записей.