以下是我对GraphQL的Client和ClientInput的定义
type Client {
_id: String
short_name: String
full_name: String
address: String
contact_name: String
contact_email: String
contract_currency: String
location: String
}
input ClientInput {
short_name: String
full_name: String
address: String
contact_name: String
contact_email: String
contract_currency: String
location: String
}
它们或多或少相同。他们为什么选择发明输入类型?
以下是我在官方文件中发现的内容:
输入是graphql中的另一种特殊类型,因为在graphql中你不能 混合模式中的输入和输出类型。
我还不完全明白为什么。为什么在graphql中,我不能混合输入和输出类型?
答案 0 :(得分:0)
因为当您向DB插入数据时,查询数据时不一定拥有相同的数据。例如,您想强制人们使用id查询“user”,但是在创建用户时没有id,因此您的输入将是
input UserInput {
name: String
}
,您的类型将是
type User {
id: ID!
name: String
}