4

我已经使用连接助手在graphql apis中实现分页。我想为同一个模型多次实现连接,但它给了我重复的类型错误。任何人都可以提出解决方案来支持多个相同模型的 api 的分页。我使用了下面的代码。

connection :employees_index, function: Queries::Employees::Index.new

connection :employees_user_index, function: Queries::Employees::UserIndex.new

4

1 回答 1

1

我知道已经很晚了,您可能已经找到了解决方案,但最近我遇到了同样的问题并搜索了解决方案但找不到。所以我就用我的方式解决了。我认为它可能对其他人有用:

解决方案:

您可以通过连接类来解决它;在 app 目录中的“graphql/connection”目录中;像这样:

class Connections::EmployeesConnection < GraphQL::Function
   description 'Employees Connection'

   type Types::EmployeeType.define_connection
end

现在使用这个类作为你的查询/突变类的超类,如下所示:

# Query class
class Queries::Employees::Index < Connections::EmployeesConnection
   def call(obj, args, ctx)
      # Do stuff here
   end
end

user_index 也一样:

# Query class
class Queries::Employees::UserIndex < Connections::EmployeesConnection
   def call(obj, args, ctx)
      # Do stuff here
   end
end

同样,您可以对其他员工查询和突变使用相同的连接类;它不会给你一个重复定义连接的错误。

于 2019-08-01T10:50:27.020 回答