如何在GrpahQL中的某些条件下使参数非Null

问题描述 投票:0回答:1

我试图用Ruby on Rails实现一些小的graphql实验。

假设我有一个类型User,我想通过idemail查询用户。因此,当提供电子邮件时,id可以不存在,反之亦然。有没有内置的方法来实现这一点,而不是在解析函数内编写手动检查?

代码的当前状态类似于下面需要呈现idemail的情况。

UserField = GraphQL::Field.define do
  name("User")
  type(Types::User)
  argument :id, !types.ID
  argument :email, !types.String
  resolve ->(object, arguments, context) { ... }
end
ruby-on-rails ruby graphql
1个回答
0
投票

看起来并不是本地的做法。

使它们都是可选的,然后如果它们都设置或都为空则抛出错误?

另一种方法是拥有两个端点:user和user_by_email

© www.soinside.com 2019 - 2024. All rights reserved.