这是问题所在。我可以通过 ID 获取成员,我的查询如下所示:
{
member(memberId:[1,2]) {
firstName
lastName
contacts {
}
}
}
现在我需要添加更多查询来获取成员,name
如下email
所示
{
member(email:["abc@xy.com","adc@xy.com"]) {
firstName
lastName
contacts {
}
}
}
{
member(name:["abc","adc"]) {
firstName
lastName
contacts {
}
}
}
如何设计我的 graphQL 查询和架构?我的查询是否应该只有 1 个带有多个可选参数的字段?像下面
Field("member", ListType(Member),
arguments = ids :: email :: name,
resolve = (ctx) => {
val id : Seq[Int] = ctx.arg("memberId")
ctx.ctx.getMemberDetails(id)
})
或者我应该在一个模式下有多个不同字段的查询。像下面
Field("memberById", ListType(Member),
arguments = Id :: Nil,
resolve = (ctx) => {
val id : Seq[Int] = ctx.arg("memberId")
ctx.ctx.getMemberDetails(id)
})
Field("memberByEmail", ListType(Member),
arguments = email :: Nil,
resolve = (ctx) => {
val id : Seq[Int] = ctx.arg("memberId")
ctx.ctx.getMemberDetails(id)
})
Field("memberByName", ListType(Member),
arguments = name :: Nil,
resolve = (ctx) => {
val id : Seq[Int] = ctx.arg("memberId")
ctx.ctx.getMemberDetails(id)
})
先感谢您。如果您需要更多详细信息,请告诉我。