【问题标题】:GraphQL query - how to reuse inline fragments field on different typesGraphQL 查询 - 如何在不同类型上重用内联片段字段
【发布时间】:2020-03-30 02:12:10
【问题描述】:

我有一个工作的 graphQL 查询,看起来像这样

query( $ownerId: ID!){
    getPets(ownerId:$ownerId){
        id,
        ownerDescription
    ...on Dog {
            id
            name
        }
    ...on Cat {
            id
            name

        }
    }
}

我想要的(但不知道如何实现)如下

query( $ownerId: ID!){
    getPets(ownerId:$ownerId){
        id,
        ownerDescription
    ...on (Dog | Cat) {
            id
            name
        }
}

是否可以以我想要的方式重用字段?

我无法控制架构,所以我希望找到一个可以在我查询的同一个地方实现的解决方案。

【问题讨论】:

    标签: javascript graphql


    【解决方案1】:

    这取决于架构。 GraphQL 支持接口继承。所以DogCat 都可以从Pet 继承idname 属性。在这种情况下,您可以转而参考父母

       ... on Pet {
         id
         name
       }
    

    【讨论】:

    • 我无法控制架构,到目前为止,还没有包含我要查询的所有属性的接口。所以我希望找到一个可以在我查询的同一个地方实现的解决方案。
    • 我用这个限制更新了这个问题。感谢您提出有效的解决方案,尽管不是针对这种情况。
    猜你喜欢
    • 2017-10-25
    • 2018-12-18
    • 2019-10-09
    • 2020-02-11
    • 2019-03-06
    • 2021-06-20
    • 2021-11-13
    • 2018-02-07
    • 2020-10-20
    相关资源
    最近更新 更多