【问题标题】:Can the return type be transformed for a GraphQL resolver可以为 GraphQL 解析器转换返回类型吗
【发布时间】:2021-03-12 16:59:34
【问题描述】:

我有一个graphene-django GraphQL API,我在其中添加了自定义指令和中间件,与graphene-django-extras 提供的非常相似。有几个地方枚举类型作为graphene.Int() 字段返回,我希望能够使用指令来转换graphene.String(),但它本身并不能这样做。例如。

{
  foo {
    bar            # return Int
    # vs
    bar @readable  # return String
  }
}

这可能吗?我正在查看 ResolvInfo 字段,返回类型有一些内容,但最初的尝试不起作用。

编辑:FWIW 我认为 API 当前是使用 Python 和 Graphene 开发的并不重要。问题更多是关于 GraphQL 是否支持这一点,我假设如果不支持,那么任何语言或库都不会使它成为可能。

【问题讨论】:

    标签: graphql graphene-python graphene-django


    【解决方案1】:

    拥有可变输出类型并不真正符合 graphQL 的精神。所以严格来说,你不应该尝试这样做。话虽如此,您可以轻松地为另一种类型添加另一个字段,即

    type Foo {
        barStr: String
        barInt: Int
    }
    

    然后只需在查询中询问您想要的那个。

    【讨论】:

      猜你喜欢
      • 2021-09-02
      • 2020-04-02
      • 2016-05-07
      • 2017-09-10
      • 1970-01-01
      • 2021-08-05
      • 2021-01-23
      • 2019-09-07
      • 2020-10-04
      相关资源
      最近更新 更多