【发布时间】:2019-02-26 09:50:16
【问题描述】:
GraphQL 中一个非常常见的用例是创建具有突变的对象,并接收完全相同的字段,以及数据库返回的 ID。这是一个相关的question 询问这个问题。
我的问题是,如何简化这种模式以避免重复字段?我尝试将输入类型作为片段重用,
input ClientInput {
short_name: String
full_name: String
address: String
email: String
location: String
}
type Client {
id: String
...ClientInput
}
...但是失败了
语法错误:预期名称,找到...
我在 Fragments 上看到的所有 documentation 和博客文章总是将它们 on 创建为现有类型。这意味着仍然重复除了 ID 字段之外的所有内容:
type Client {
_id: String
short_name: String
full_name: String
address: String
email: String
location: String
}
fragment ClientFields on Client {
short_name: String
full_name: String
address: String
email: String
location: String
}
input ClientInput {
...ClientFields
}
这样更好吗?
【问题讨论】: