Java中用于Java-GraphQL服务器的基于中继的分页

时间:2017-08-23 15:50:23

标签: java pagination graphql relay graphql-java

我使用GraphQL-Java-tools实现了一个基于java的GraphQL服务器。现在我需要使用我拥有的Java-GraphQL服务器实现基于中继的分页。

我在那里找不到任何有用的东西。谁能帮助我指出正确的地方找到如何在Java_GraphQL服务器中实现基于中继的分页?

感谢您的期待。

1 个答案:

答案 0 :(得分:0)

graphql-java-tools在版本5.4.0中增加了对Relay的支持。如documentation example中所述,您可以在模式中使用新的@connection指令:

type Query {
    users(first: Int, after: String): UserConnection @connection(for: "User")
}

type User {
    id: ID!
    name: String
}

并在解析器中返回Connection<T>

class QueryResolver implements GraphQLQueryResolver {

  public Connection<User> users(int first, String after, DataFetchingEnvironment env) {
    return new SimpleListConnection<>(Collections.singletonList(new User(1L, "Luke"))).get(env);
  }
}

仍然,除了简单列表之外的示例(例如,当必须从数据库中获取边缘时)稀缺,SimpleListConnection是迄今为止graphql-java提供的唯一实现。