gpt4 book ai didi

spring-boot - 带有 Spring 的 GraphQL-java - 解析器 vd datafetcher

转载 作者:行者123 更新时间:2023-12-05 09:10:43 25 4
gpt4 key购买 nike

GraphQL 和 Java (Spring) 一团糟。有多个项目和多个示例,但完全不一致。

我理解 Spring Boot 应该提供 OOTB 工作解决方案,并且(在某种程度上)它是这样工作的。给你这样体验的项目在 Github 上 https://github.com/graphql-java-kickstart .特别是https://github.com/graphql-java-kickstart/graphql-spring-boot让您有可能创建模式、创建解析器以及其他一切自动完成。

问题是当您尝试用自定义数据 getter 替换解析器时——这看起来非常简单的数据 getter 。据我所知,不可能制作异步解析器或批处理解析器 - 您必须制作数据提取器。

要制作自定义数据提取器,需要进行自定义布线等,替换 spring-boot 解决方案,或者以某种方式(如何?)使用它。没有单一的真实点,如何正确地做到这一点。我什至发现 BatchedDataFetcher 在获得良好的 Spring Boot 支持/示例之前就已被弃用(!)(参见:GraphQL Java: Using @Batched DataFetcher)

正因为如此,我什至不知道去哪里寻找解决方案。我很乐意看到的是有一个示例:

  • Spring Boot 支持
  • 异步/并行数据 getter
  • 批量数据 getter
  • 使用 GraphQL 端点连接多个服务(可能超出范围)
  • 分页/过滤

最佳答案

Anyway, the answer is: use graphql-java-kickstart projects, as those from https://www.graphql-java.com/ are outdated. This fact is very misleading and should be stated somewhere.

不是真的。 graphql-java 只是目前我所知道的 GraphQL java 实现。它定义了 DataFetcher。它是核心库,而您找到的其他项目,例如 java-kickstart(或者更准确地说,它的 graphql-java-tool)是建立在 graphql-java 并且它定义了自己的 DataFetcher 实现,称为 Resolver

最后,Resolver 只是一个 DataFetcher

您可以在这个 blog post 中找到关于这两个项目的更多相关信息.

因此,如果您想在构建 GraphQL 服务器时获得最大的灵 active ,请使用 graphql-java。另一方面,如果您喜欢 graphql-java-tool 使用的自以为是的方式,请使用它。

关于spring-boot - 带有 Spring 的 GraphQL-java - 解析器 vd datafetcher,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61096790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com