Как подойти к запросу GraphQL, который возвращает логическое значение?

Необходимо проверить, доступна ли электронная почта или принята ли она в процессе регистрации пользователя. Цель состоит в том, чтобы быстро запросить, используя GraphQL, сервер API и сообщить нам, доступно ли электронное письмо или занято.

Какова общая наилучшая практика для простой логической ситуации с использованием GraphQL?

Ниже приведено то, что я придумал, но я не уверен, является ли это хорошей практикой или нет, и хочу услышать отзывы о лучшей практике для таких запросов.

Запрос:

query {
  emailExists(email:"[email protected]") {
    is
  }
}

Ответ:

{
  "data": {
    "emailExists": {
      "is": true
    }
  }
}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Что такое Apollo Client и зачем он нужен?
Что такое Apollo Client и зачем он нужен?
Apollo Client - это полнофункциональный клиент GraphQL для JavaScript-приложений, который упрощает получение, управление и обновление данных в...
9
0
13 132
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

«Запрос» — это просто поле того, что относится к типу Query. Поле может возвращать любой тип вывода, включая скаляры — ему не обязательно возвращать объект. Поэтому достаточно иметь такую ​​схему:

type Query {
  emailExists(email: String!): Boolean!
}

Единственная причина, по которой следует предпочесть объектный тип, заключается в том, что вы ожидаете добавления дополнительных полей в будущем (т. е. чего-то другого, кроме вашего текущего поля is).

Именно то, что я ищу!! Большое спасибо.

Chad Taylor 04.07.2019 03:35

Просто для записей, с этим решением запрос будет таким (выбор поля не требуется): graphql query { emailExists(email:"[email protected]") }

Marco 11.03.2020 11:03

Другие вопросы по теме