【问题标题】:How make a dynamic field with apollo graphql如何使用 apollo graphql 制作动态字段
【发布时间】:2021-08-28 10:15:55
【问题描述】:

很好,我有一个问题,我看了但找不到

好吧,问题是我想在我的 GraphQL 类型中有一个动态字段,这个字段的值取决于其他字段 如果其他字段之一为真,则该字段的值增加

需要帮助解决这个问题

【问题讨论】:

    标签: javascript graphql apollo-server


    【解决方案1】:

    如果你使用 type-graphql,你可以使用 FieldResolver 来做类似的事情,例如

    UserType.ts

    ...
    @Field(() => String)
    firstName: string
    
    @Field(() => String)
    lastName: string
    

    UserResolver.ts

    ...
    @FieldResolver(() => String)
    public fullName(@Root() userType: UserType): string {
        return `${userType.firstName} ${userType.lastName}`
    }
    

    这将基于 firstName 和 lastName 创建动态字段 fullName,因此您可以使用此类比来创建自己的逻辑。

    【讨论】:

      【解决方案2】:

      GraphQL 不是动态的。您可以定义多个查询或添加一个自定义标量,其类型类似于any

      这有点可惜,但它只允许你没有条件的静态类型。唯一的动态部分是您可以决定要下载什么,不下载什么。相信我,我也在寻找它。

      【讨论】:

        猜你喜欢
        • 2020-08-31
        • 2020-08-24
        • 2020-03-15
        • 2019-01-07
        • 2020-09-16
        相关资源
        最近更新 更多