使用石墨烯在 Graphql 中返回字典而不是字符串

Posted

技术标签:

【中文标题】使用石墨烯在 Graphql 中返回字典而不是字符串【英文标题】:Return dictionary insted of string in Graphql using graphene 【发布时间】:2020-03-23 18:20:52 【问题描述】:

我希望我的 graphql 查询以字典的形式返回多个值,但我只能在字符串中返回字典。 enter image description here

class Query(ObjectType):

get_reply = String(
    question=String(),
    sender=String(),
    timestamp=String()
)

def resolve_get_reply(root, info, question, sender, timestamp):
    written_to_database = False
    reply = 'hello'
    d = "reply": reply, "wtd": written_to_database
    return d

现有的指南让我更加困惑。 我如何为这种情况定义架构?

【问题讨论】:

【参考方案1】:

您已将 get_reply 变量设置为字符串。因此,您将收到一个字符串作为响应。

您可以创建一个自定义回复类并设置 get_reply 如下:

get_reply = graphene.Field(Reply, 
    question=String()
)

【讨论】:

谢谢你,我按照你说的做了,为回复添加了一个模式,一切都很顺利

以上是关于使用石墨烯在 Graphql 中返回字典而不是字符串的主要内容,如果未能解决你的问题,请参考以下文章

石墨烯在氮化硼基底上的公度—非公度转变(转自物理所)

使用 GraphQL + 石墨烯进行删除操作的最佳方法

“必须提供查询字符串。”石墨烯-蟒蛇

使用 Graphene 返回具有字符串值的枚举列表

Python Json加载()返回字符串而不是字典?

将 json 模型字段与 django 石墨烯一起使用