我已经使用连接助手在 graphql api 中实现分页。我想为同一模型多次实现连接,但它给我重复的类型错误。任何人都可以建议解决方案来支持同一模型的多个 api 的分页。 我使用了以下代码。
连接:employees_index,函数:Queries::Employees::Index.new
连接:employees_user_index,函数:Queries::Employees::UserIndex.new
最佳答案
我知道现在已经晚了,您可能已经找到了解决方案,但最近我遇到了同样的问题并搜索了解决方案但找不到。所以我用我的方式解决了它。我认为它可能对其他人有用:
解决方法:
你可以通过连接类来解决它;在 app 目录中的“graphql/connection”目录中;像这样:
class Connections::EmployeesConnection < GraphQL::Function
description 'Employees Connection'
type Types::EmployeeType.define_connection
end
现在使用此类作为您的查询/变更类的父类(super class),如下所示:
# 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
同样,您可以对其他员工查询和更改使用相同的连接类;对于连接的重复定义,它不会给你一个错误。
关于ruby-on-rails - 在 graphql 分页中找到名称 'Connection' 的重复类型定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48700479/