Подтипы в мутации GraphQL

Я пытаюсь указать подтип в мутации graphql Использование AWS Amplify и AWS AppSync.

mutation CreatePhoneType {
  createPhoneType(input: {
    desc: "Mobile Phone"
  }) {
    id
    desc
  }
}

mutation CreatePhone {
  createPhone(input: {
    number: "+91 704-011-2342",
    phonetype: { id: "f6b3c538-378a-48d1-a264-96dfef4472a4" }    
  }) {
    id
    number,
    phonetype {
      id
    }
  }
}

Вот определение схемы:

type Phone @model {
  id: ID!
  number: AWSPhone!
  phonetype: PhoneType
  createdAt: AWSDateTime
  updatedAt: AWSDateTime
}

type PhoneType @model {
  id: ID!
  desc: String!
  createdAt: AWSDateTime
  updatedAt: AWSDateTime
}

Я пытаюсь вставить новое значение телефона. Тип телефона имеет подтип PhoneType. Я успешно создал PhoneType и хотел бы сослаться на существующий тип телефона как часть мутации для создания значения Phone. Я пытался указать ID! но это не работает. Как указать существующий подтип при создании нового значения в мутации GraphQL? Я проверил документы GraphQL, но информации не так много.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
721
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Вам нужно добавить @connection, чтобы сгенерировать соответствующий тип.

Итак, телефон должен быть:

type Phone @model {
  id: ID!
  number: AWSPhone!
  phonetype: PhoneType @connection
  createdAt: AWSDateTime
  updatedAt: AWSDateTime
}

Как только вы это сделаете, сгенерированный тип станет доступен для ссылки.

Итак, теперь это работает:

mutation CreatePhone {
  createPhone(input: {
    number: "+91 704-011-2342",
    phonePhonetypeId: "f6b3c538-378a-48d1-a264-96dfef4472a4"  
  }) {
    id
    number
  }
}

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