Ada*_*kis 5 javascript apollo graphql
我正在尝试使用具有各种字段的类型来指定 GraphQL 模式,并且还允许您OR: [...]使用相同的参数递归地添加。我让它像这样工作
input BookFilters {
_id: String
title: String
title_contains: String
title_startsWith: String
title_endsWith: String
OR: [BookFilters]
}
type Query {
allBooks(_id: String
title: String
title_contains: String
title_startsWith: String
title_endsWith: String
OR: [BookFilters]
): [Book]
}
Run Code Online (Sandbox Code Playgroud)
效果很好,这个查询
{
allBooks(title_endsWith: "1", OR: [{ title: "2" }, {title:"3"}, {OR: [{title_contains: "Q"}, {OR:[{title:"Q"}]}]}]) {
_id
title
}
}
Run Code Online (Sandbox Code Playgroud)
过得很好。
我的问题是,有没有办法消除重复?理想情况下我会喜欢它
type Query {
allBooks(...BookFilters): [Book]
}
Run Code Online (Sandbox Code Playgroud)
是有效的,但似乎不是。
编辑 - 评论带来了片段。它们只能从一个类型中声明出来,对吗?所以我仍然有一个新类型来列出我所有的查询参数,然后从中制作一个片段,重新列出所有字段?
即使事实并非如此,GraphQL 似乎仍然不喜欢传播输入参数。
fragment BookFiltersFragment on BookFilters {
_id
}
type Query {
allBooks(...BookFiltersFragment): [Book]
}
Run Code Online (Sandbox Code Playgroud)
哪些错误出在 ...