我希望我的GraphQL突变返回类型对象中未定义的字段
我将Rails 6与Ruby GraphQL一起使用。我已经描述了UserType
,其字段为username
,email
和password
。在我的登录突变中,我想返回一个jwt令牌作为响应。这是我到目前为止所拥有的;
用户类型:
module Types
class UserType < BaseObject
field :id, ID, null: false
field :email, String, null: false
field :username, String, null: false
end
end
突变:
module Mutations
UserMutation = GraphQL::ObjectType.define do
field :login, Types::UserType do
argument :username, !types.String
argument :password, !types.String
resolve ->(_obj, args, _ctx) do
# perform the authentication and return a jwt token.
end
end
end
end
我希望得到这样的答复:
{
"data" : {
"token": "my_generated_token"
}
}
或形状相同的错误消息。
答案 0 :(得分:0)
更新:这是对我有用的解决方案。
我创建了一个新类型LoginType
,该类型定义了token
和user
字段,并使突变对其进行响应,而不是UserType
module Types
class LoginType < BaseObject
field :token, String, null: false
field :user, Types::UserType, null: false
end
end
感谢@rmosolgo的帮助