JSON в GraphQL

Локальная обработка
app.graphql.view

Данные также можно передать через #data={"name":"Ada"} или #url=... После чтения параметры сразу удаляются из адресной строки.

Как пользоваться

По одному примеру JSON выводятся типы GraphQL. При отладке ответа GraphQL или черновике mock это быстрее, чем писать type с нуля. Объекты становятся именованными type, массивы — списками.

Вывод скаляров

Строки, числа и логические значения соответствуют скалярам GraphQL. Вложенные объекты выделяются в отдельные type, а не сводятся к одному JSON.

null и смешанные типы нужно проверить: возможно, понадобится union.

Вложенные type

Объекты становятся именованными типами, массивы — списками. Глубокая структура даёт несколько блоков type — их можно вставить в файл schema как черновик.

Может ли поле быть null ( ! ) — дополните по бизнесу.

Как отправная точка

После генерации добавьте обязательность !, перечисления и свои скаляры. Корневых операций query / mutation на странице нет.

REST-команде, которой нужен только JSON-контракт, удобнее страница Schema.

Пример

Пример JSON
{
  "user": {
    "id": "u_1",
    "name": "Ada"
  }
}
Возможный черновик типов
type User {
  id: String
  name: String
}

type Root {
  user: User
}
Это полная GraphQL schema?

Только type по форме данных, без query / mutation.

Когда выбрать JSON Schema?

Для документации REST чаще Schema; для сервиса GraphQL удобнее эта страница.

Имена полей допустимы?

По возможности получаются допустимые идентификаторы. Странные ключи переименуйте в поля, разрешённые GraphQL.

Загружается ли пример?

Нет. Вывод выполняется в браузере.

Рекомендуемый процесс

  1. Скопируйте типичный ответ из GraphQL playground или лога.
  2. Сгенерируйте type и проверьте, разбита ли вложенность и верны ли списки.
  3. Добавьте обязательность, перечисления и свои скаляры, затем внесите в серверную schema.
  4. Для документации REST откройте страницу JSON Schema.

Один ответ не даёт полный граф. Входные параметры mutation и пагинацию всё равно пишут вручную.