Android 版 Apollo GraphQL 中的重复对象类型

2024-02-14

在我的项目 GraphQL 架构中,对象AllowedPeriod(这只是两个字段startsAt/endsAt)可以到达图形的不同对象内。

生成查询时,apollo 会为每个查询创建一个新类型<parent_object>.AllowedPeriod

例如,在GetDevicesQuery, the AllowedPeriod可以在里面devices, actions or group,因此生成以下类。

  • GetDevicesQuery.AllowedPeriod
  • GetDevicesQuery.AllowedPeriod1
  • GetDevicesQuery.AllowedPeriod2

有没有一种方法可以告诉 apollo 这些是相同的类型,并且它不应该为它们中的每一个生成类型?


我认为你可以使用 graphQL 片段来解决你的问题。 Apollo 应该为每个查询生成相同的片段类。

例如:

fragment AllowedPeriodFragment on AllowedPeriod {
    startsAt
    endsAt
}

query GetDevicesQuery() {
    devices {
        allowedPeriod { 
            ...AllowedPeriodFragment 
        }
    }

    actions {
        allowedPeriod { 
            ...AllowedPeriodFragment 
        }
    }
}

生成的片段可以通过fragments()方法访问。

它应该看起来像:device.fragments().allowedPeriodFragment() or action.fragments().allowedPeriodFragment()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 版 Apollo GraphQL 中的重复对象类型 的相关文章

随机推荐

  • Maven下多个Spring Boot应用的端到端集成测试

    对多个项目运行端到端集成测试的推荐方法是什么 Spring启动应用程序在Maven构建的验证阶段 基本上 我有一个多模块 Maven 项目 其中几个模块是单独的 Spring Boot 应用程序 这些单独的应用程序有自己的数据源配置 集成流
  • 使用knitr设置HTML元元素

    我正在使用 knit 生成 HTML 报告 并且我想包含作者和生成日期元标记 我的 Rhtml 页面看起来像这样 不幸的是 之后我knit test Rhtml knitr 生成的 HTML 是 RCotto
  • 不支持 ReadOnlySpan 上的 Switch 语句?

    我正在用 C 玩 Span 我不能将 switch 语句与 span 一起使用 我必须编写这样的方法 对吗 private int GetNumberOfLegs ReadOnlySpan
  • Spring Session table-name 属性不改变表名

    我必须能够重命名默认的 Spring Session 表 并在春季会议文档 https docs spring io spring session docs 2 0 1 RELEASE reference html5 httpsession
  • 如何克隆旧的 python conda 环境(当包的链接不再起作用时)

    我有一台新电脑 我想从旧电脑克隆 Python 环境 大约两年前 我使用 Anaconda 2 for Python 2 7 创建了 Python 环境 我无法准确复制它 因为某些软件包在相同版本和位置不再可用 我想知道是否有一种方法可以将
  • 向 .NET 的 Random.Next() 添加“平均”参数以曲线结果

    我希望能够添加一个 average 参数为Random Next Lower Upper http msdn microsoft com en us library 2dx6wyd4 28v vs 110 29 aspx 这个方法会有min
  • 参考表达式的求值

    根据 Potatoswatter 的建议 我创建了一个新的讨论 参考是这个回应 https stackoverflow com questions 3852768 unsequenced value computations a k a s
  • 如何获得卷影副本以与 .NET 6.0(测试版)一起使用

    有没有人有幸获得与 NET6 和 IIS 一起使用的实验性 卷影副本 我有一个 IIS 应用程序指向 NET 5 0 Web API 项目的根文件夹 我第一次编译 然后使用 Postman 测试 API 效果很好 但在那之后 我无法编译 因
  • 带动画的 CSS 下拉菜单(无 js)

    尝试使用 CSS 动画创建动画下拉菜单 而不使用任何 JS 我以为我一直在寻找正确的树 但看不出我哪里出了问题 对于这个简化的菜单项 div class menu Menu Item ul li Dropdown 1 li li Dropd
  • Blazor EditContext 不触发 FieldState

    当值发生变化时Form成分 Editform 不验证并且不设置IsModified of the FieldState为真 只有提交后才会生效 我看到当值更改时 Modified 类不会添加到 HTML 中的输入标记中 所以看起来 Edit
  • 如何创建共享库特定的单例实例

    我有一组应用程序插件 它们都链接到一个公共基础库 基础库定义了一个单例 它维护每个插件中所有对象构造函数的列表 在 Windows 上 我可以将此基础库创建为静态库 因此将单例的副本放置在每个插件中 然而在 Linux 上我遇到了一些相反的
  • numpy.distutils.system_info.NotFoundError:未找到 BLAS/LAPACK 库

    我在 buildroot 中添加 scikit learn 包 但它在构建步骤中需要 scipy 依赖项 所以我添加host python scipy in python scipy mk如下 HOST PYTHON SCIPY DEPEN
  • Scala 的 Range 类中的独家结尾

    根据Scala 文档 http www scala lang org api current index html scala collection immutable Range对于方法Range end 它返回 范围的唯一结尾 那么为什
  • 在 Zsh 中为 Info 创建键盘快捷键?

    Zsh 对于 Man 有以下键盘快捷键 Esc h 我想要一个类似的键盘快捷键来获取信息 例如 Esc i 如何为信息制作这样的键盘快捷键 这应该可以解决问题 function run info Prepend info to the co
  • 如何删除从标签接管的密码字段上的占位符

    我无法删除密码文本框中不需要的占位符 或水印 当密码文本框获得焦点时 Android Web 浏览器会显示从关联标签元素取代的占位符 如下所示 HTML 源
  • 使用 Django 时查找查询源的推荐方法?

    我很难找到在数据库日志中看到的查询源 我使用的是 Django 因此实际的查询是自动生成的 这使得简单的 grep 无效 我正在考虑修补数据库游标以将当前堆栈跟踪附加到查询中 例如 for conn in connections all w
  • 基于 Java/Groovy 时区的日期时间转换

    我现在处于 MST 并且我希望我的日期处于 PST 我设置了我想要的时区 现在如果我这样做c getTime 我总是得到我的服务器时间 相反 我想要太平洋日期时间 请帮忙 如何获取指定时区的日期时间对象 Calendar c Calenda
  • 在 Python 中模拟子进程调用

    我有一个方法 run script 我想测试一下 具体来说 我想测试一下调用subprocess Popen https docs python org 3 library subprocess html subprocess Popen发
  • 将行批量插入 SQL Server 的最快方法

    通过 Web 服务 远程计算机将发送一组行以插入到我们的中央 SQL 服务器中 插入这些行的最佳方法 性能方面 是什么 每次可以插入 50 500 行 我知道我可以批量插入数据或将数据格式化为 XML 从而以这种方式插入数据 但我以前从未在
  • Android 版 Apollo GraphQL 中的重复对象类型

    在我的项目 GraphQL 架构中 对象AllowedPeriod 这只是两个字段startsAt endsAt 可以到达图形的不同对象内 生成查询时 apollo 会为每个查询创建一个新类型