如何在Github GraphQL查询中使用多个object对象?
解决Github GraphQL查询中多个
object字段冲突的问题 你遇到的问题核心在于:GraphQL不允许在同一父字段下出现同名的字段——两个object字段会让服务器无法区分它们的返回结果,导致查询失效。解决这个问题的关键是给每个object字段添加别名,让它们拥有唯一的标识。
修改后的可用查询如下:
query { repository(owner:"rails", name:"rails") { commitObject: object(expression:"master") { ... on Commit { history { totalCount } } } readmeBlob: object(expression: "master:README.md") { ... on Blob { byteSize } } } }
简单说明:
- 我给第一个
object字段起了别名commitObject,第二个起了别名readmeBlob——你也可以换成其他更贴合业务的名称,只要两个别名不重复就好。 - 别名的语法是
别名: 字段名(参数),服务器会用你指定的别名来返回对应字段的结果,彻底解决字段名冲突问题。 - 后续解析返回数据时,直接通过
commitObject和readmeBlob这两个别名就能拿到各自对应的数据。
内容的提问来源于stack exchange,提问作者xpt
相关产品推荐
相关产品推荐

