微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

以向后兼容的方式扩展多态列表

如何解决以向后兼容的方式扩展多态列表

我对 Apollo/GraphQL 比较陌生,我正在尝试了解使用 Apollo 移动 (iOS/Android) 客户端在 GraphQL 中实现向后兼容多态列表的行为和正确方法

假设我有一个example in the official documentation 这样的架构。 假设我然后向我的客户部署了一个类似于第二个示例中提供的查询,它使用条件片段,并且还包含 __typename 以及其他共享属性(我相信它们会在丢失时自动添加)。

如果我然后添加第三种类型 ComicBook,它实现了 Book,并且我尝试在我的服务器响应中在 schoolBooks 中返回它的一个实例,那么在 Apollo 解码 json 之后旧客户端会发生什么?

  • 该列表将包含 ComicBook 类型的元素并填充共享属性的值(但显然条件片段中没有任何属性
  • 该列表将根本不包含 ComicBook 类型的元素
  • 响应将无法全部解码,因为客户端将无法解码/理解 __typename,从而破坏向后兼容性。

如果(3),你会使用什么替代设置来获得(1)或(2)或类似的行为?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。