Я пытаюсь указать подтип в мутации 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, но информации не так много.





Вам нужно добавить @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
}
}