在我的项目 GraphQL 架构对象 AllowedPeriod
(这只是两个字段 startsAt/endsAt)可以到达图形的不同对象。
生成查询时,apollo 为每个 <parent_object>.AllowedPeriod
创建一个新类型
例如,在 GetDevicesQuery
, AllowedPeriod
可以在里面devices
, actions
或 group
,因此生成以下类。
-
GetDevicesQuery.AllowedPeriod
-
GetDevicesQuery.AllowedPeriod1
-
GetDevicesQuery.AllowedPeriod2
有没有办法告诉 apollo 它们是相同的类型并且它不应该为它们中的每一个都生成类型?
最佳答案
我认为您可以使用 graphQL fragment 来解决您的问题。 Apollo 应该为您的每个查询生成相同的 fragment 类。
例如:
fragment AllowedPeriodFragment on AllowedPeriod {
startsAt
endsAt
}
query GetDevicesQuery() {
devices {
allowedPeriod {
...AllowedPeriodFragment
}
}
actions {
allowedPeriod {
...AllowedPeriodFragment
}
}
}
可以通过 fragments() 方法访问生成的 fragment 。
它应该看起来像:
device.fragments().allowedPeriodFragment()
或 action.fragments().allowedPeriodFragment()
关于android - Apollo GraphQL for Android 中的重复对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56355600/