Datafetchers 和 Resolver 之间的区别

Sam*_*Sam 7 graphql graphql-java

我计划在我的 Spring Boot 应用程序中实现 Graphql。我在 Google 上搜索了许多用 Java 设置 Graphql 服务器的站点,并找到了两种方法。

一个是像下面这样实现 GraphQlResolver

 public class MyResolver implements GraphQLResolver<ModelX>
Run Code Online (Sandbox Code Playgroud)

另一个是通过实现 Datafetcher 参考:https ://www.graphql-java.com

@Component
public class MyDataFetcher implements DataFetcher<ModelX> {


@Override
public ModelX get(DataFetchingEnvironment environment) {
    // TODO Auto-generated method stub

}

}
Run Code Online (Sandbox Code Playgroud)

请提供一些关于两种方法差异和其中最佳方法的信息

Ken*_*han 12

DataFetcher来自graphql-javalibrary ,这是GraphQL迄今为止我在 Java 世界中知道的唯一Java 实现。

GraphQLResolver来自另一个名为的库 graphql-java-tools,它构建在graphql-java. 您可以认为它提供了一种方式,可以让您以更高级的方式或更方便的方式构建 GraphQL 服务器。最后,GraphQLResolver将以某种方式调用DataFetcher#get()以解析字段的值。

Spring 中的一个类似类比是graphql-javalike Servlet 而graphql-java-tools like SpringMVC