当前位置: 首页 > 知识库问答 >
问题:

数据获取程序和解析程序之间的区别

李嘉胜
2023-03-14

我计划在我的spring boot应用程序中实现Graphql。我在谷歌上搜索了许多用Java安装Graphql服务器的网站,发现了两种方法。

一个是实现如下所示的GraphQlResolver

 public class MyResolver implements GraphQLResolver<ModelX>

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

@Component
public class MyDataFetcher implements DataFetcher<ModelX> {


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

}

}

请提供一些资料,说明这两种方法的不同之处及其最佳之处

共有2个答案

丁和歌
2023-03-14

术语“解析器”是一个通用的GraphQL术语,与任何特定的GraphQL实现/框架/语言无关。GraphQL中的每个字段都有一个名为解析器的函数作为支持,解析器由GraphQL服务器开发人员提供。简而言之,解析器是将任何特定字段映射到任何特定响应的第一个逻辑命中。

NetflixDGS库现在是开源的(截至2020年底),它引入了“数据采集器”。在DGS世界中,DataFetcher只是实现解析器的DGS特定方式。

阅读:

  • Netflix DGS解析器
雷硕
2023-03-14

DataFetcher来自graphqljavalibrary,这是迄今为止我在java世界中所知道的唯一的graphqljava实现。

graphql解析器来自另一个名为graphql java工具的库,它构建在graphql java之上。您可以认为它提供了一种方法,允许您以更高级别的方式构建GraphQL服务器,或者以您可能会发现更方便的方式构建GraphQL服务器。最后,graphqlsolver将以某种方式调用DataFetcher#get()来解析字段的值。

Spring中类似的类比是graphqljava类似Servlet,而graphqljava工具类似SpringMVC

 类似资料:
  • 本文向大家介绍长期计划程序和短期计划程序之间的区别。,包括了长期计划程序和短期计划程序之间的区别。的使用技巧和注意事项,需要的朋友参考一下 长期计划者 长期调度程序也称为JOB调度程序。它维护程序/作业的队列,这些队列被选择供系统处理。根据调度机制选择程序并进行处理。长期调度程序控制着多重编程的程度。 短期计划者 短期调度程序也称为CPU调度程序。它维护上下文切换,并且CPU在多个线程之间切换。短

  • 我已经阅读了一些关于将Web应用和API应用部署到Azure的教程。然而,我仍然有点不确定为什么你会使用一个而不是另一个。 我可以创建一个新的。NET解决方案,并将其部署为Web应用程序,那么为什么我会特别需要API应用程序呢?这些都是专门为ASP优化的。NET Web API,其中Web应用程序用于交付HTML?

  • 我正在处理一个项目,不禁注意到它使用两种不同的执行方法来触发查询执行: 有人能解释一下两者的区别吗? 谢谢!

  • 您好,我有这个代码,我想将此数据解析为对象,现在我得到了一个 anyType 的字符串 我想分别得到描述对象纬度对象和经度对象

  • 本文向大家介绍进程和线程之间的区别,包括了进程和线程之间的区别的使用技巧和注意事项,需要的朋友参考一下 进程是活动程序,即正在执行的程序。它不仅包含程序代码,还包括程序计数器,进程堆栈,寄存器,程序代码等。与此相比,程序代码只是文本部分。 线程是可以由调度程序独立管理的轻量级进程。它使用并行性提高了应用程序性能。线程与它的对等线程共享信息,如数据段,代码段,文件等,而该线程包含其自己的寄存器,堆栈

  • 本文向大家介绍数据科学家,数据工程师,数据分析师之间的区别。,包括了数据科学家,数据工程师,数据分析师之间的区别。的使用技巧和注意事项,需要的朋友参考一下 数据科学家,数据工程师和数据分析师是信息技术公司中的各种职位档案。 数据科学家 数据科学家是一个非常特权的工作,负责监督整体功能,提供监督以及对信息,数据的未来显示的关注。 数据工程师 数据工程师专注于技术优化,以所需格式构建数据等。 数据分析