2

我正在为某些字段定义解析器,使用 ruby​​ 的 graphql gem。

这是解析器定义:

module Resolvers
  class Events < BaseResolver

    type [Types::EventType], null: true

    argument :input, Types::EventInput, required: true

    def resolve(input:)
      # do something
    end

  end
end

这是 BaseResolver 类:

module Resolvers
  class BaseResolver < GraphQL::Schema::Resolver

  end
end

这就是我称之为解析器的地方:

module Types
  class CommonSpaceType < BaseObject

    field :active, Boolean, null: true
    field :events, function: Resolvers::Events
  end
end

这是我使用 Insomnia 得到的回应:

"message": "Resolvers::Events:Class 的未定义方法 `deprecation_reason'\n你的意思是?deprecate_constant"

4

1 回答 1

0

它已经很老了,但也许有人会使用这些信息。你应该改变

field :events, function: Resolvers::Events

field :events, resovler: Resolvers::Events

当您使用GraphQL::Schema::Resolver对象时,而不是GraphQL::Function.

于 2020-01-09T14:44:19.750 回答