繁体   English   中英

可以为 GraphQL 解析器转换返回类型吗

[英]Can the return type be transformed for a GraphQL resolver

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

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

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

编辑:FWIW 我认为 API 目前是使用 Python 和石墨烯开发的并不重要。 问题更多的是关于 GraphQL 是否甚至支持这一点,我假设如果不支持,那么没有语言或库将使其成为可能。

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

type Foo {
    barStr: String
    barInt: Int
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM