我有一个 graphene-django GraphQL API,我在其中添加了自定义指令和中间件,它们与 graphene-django-extras 。有几个地方枚举类型会作为 graphene.Int() 字段,我希望能够使用指令将其转换为 graphene.String() 但它本身并不能做到这一点。如。
graphene-django
graphene-django-extras
graphene.Int()
graphene.String()
{ foo { bar # return Int # vs bar @readable # return String } }
这有可能吗?我正在查看 ResolvInfo 字段中有一些返回类型,但初始尝试不起作用。
ResolvInfo
编辑:FWIW我认为API目前是使用Python和Graphene开发的并不重要。问题更多的是关于GraphQL是否支持这一点,我假设如果它不支持,那么任何语言或库都无法实现这一点。
具有可变输出类型并不真正符合graphQL的精神。所以严格来说,你不应该这样做。也就是说,你可以很容易地为其他类型添加另一个字段,即。
type Foo { barStr: String barInt: Int }
然后只需在查询中询问您想要的那个。