Что вы подразумеваете под вложенным вводом в ваших мутациях? Типы ввода GraphQL не имеют резолверов. С определителями вы просто определяете, как получить результаты. Если вы хотите иметь вложенный ввод, например, например, я хотел бы создать пользователя также с компанией. Затем я определю тип CreateUserInput
CreateCompanyInput
, например, в SDL
.
input CreateCompanyInput {
name: String!
type: CompanyEnum!
}
input CreateUserInput {
username: String!
firstname: String!
lastname: String!
company: CreateCompanyInput!
}
type Mutation {
createUser(input: CreateUserInput!): User
}
Таким образом, я в основном вкладываю аргументы и могу реализовывать более сложные мутации. Кроме того, я могу повторно использовать мутацию CreateCompanyInput
для createCompany
, если мне нужна мутация даже для этого. Тогда у меня будет весь CreateUserInput даже с CreateCompanyInput
в решателе createUser
в качестве входного аргумента. Я могу применять транзакции, так как создаю две новые записи и т. Д. Не уверен, что вы имеете в виду под вложенным вводом, если вы имеете в виду что-то еще. Просто дайте мне знать:)