1

我的团队一直在使用 GraphQL Ruby,我们发现了应用范围和对查询进行排序的用例,并且在多个地方一遍又一遍地编写相同的代码。

我想知道,有没有办法在使用它的任何地方实现类型的解析逻辑?我想在返回特定类型的每个字段上添加过滤和排序参数,而无需在从字段返回时编写额外的样板。在下面的示例中,我将使用 GraphQL::Function 包装它,并且将排序和过滤参数传入 on args。我不想每次都使用该函数,而只是让类型实现使用这些参数进行自身解析的能力。

field :institutionUser, Types::InstitutionUserType do with_filtering(resolve ->(obj, args, ctx) { ....resolution logic }) end

4

1 回答 1

0

听起来您想使用解析器。

field :institutionUser, resolver: Resolvers::InstitutionUser
...
module Resolvers
  class InstitutionUser < GraphQL::Schema::Resolver
    type Types::InstitutionUser

    def resolve
      ...resolution logic
    end
  end
end

https://graphql-ruby.org/fields/resolvers.html

于 2020-03-19T20:46:35.947 回答