Доступ к запрашиваемым полям в шаблоне сопоставления резольвера - PullRequest
1 голос
/ 05 июля 2019

Когда мы запрашиваем запрос GraphQL, например,

query GetPost {
  singlePost(id: 123) {
    id
    title
  }
}

, и мы настроили преобразователь лямбда-выражений в AWS AppSync, шаблон сопоставления запросов

{
        "version" : "2017-02-28",
        "operation" : "Invoke",
        "payload": {
          "resolve": "singlePost",
          "query": $utils.toJson($context.arguments)
        }
}

позволяет намопределить объект события, передаваемый в лямбда-обработчик.

В приведенном выше примере наш лямбда-обработчик будет вызываться с событием event, в котором event.payload.query.id == 123 или тому подобное.

Согласно1013 * документы объект $context содержит,

{
   "arguments" : { ... },
   "source" : { ... },
   "result" : { ... },
   "identity" : { ... },
   "request" : { ... }
}

{code}

При этом в документации не упоминается, где я могу получить доступ к запрашиваемым полямзапроса GraphQL .

Для первого примера эти поля будут соответствовать ["id", "title"].

В случае, если мне нужно разрешить некоторые вложенные свойства, например массив теговобъекта с помощью дорогостоящей операции, например, SQL-соединения, было бы полезно, если бы я мог проверить, действительно ли запрашивается вложенное свойство.

Этот вопрос относится к Как получить запрошенные поля внутри GraphQLРесоlver? , однако он отличается от реализации GraphQL graphql-tools против AppSync.

1 Ответ

1 голос
/ 09 июля 2019

К сожалению, на самом деле это не то, что AppSync поддерживает сегодня. Это, однако, запрос, который мы получили от других клиентов, и я буду использовать этот пост в качестве +1, чтобы расставить приоритеты для будущего выпуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...