微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Graphen Django:批处理请求应收到一个列表,但收到{'query':XXX} 问题

如何解决Graphen Django:批处理请求应收到一个列表,但收到{'query':XXX} 问题

我通过在 batch=True 方法添加 .as_view(...) 来启用Graphene-Django中的批处理查询功能,>

urlpatterns = [
    # other URL patterns,path('graphql/',CustomGraphQLView.as_view(schema=schema,batch=True),name='graphql')
]

此后,我使用Postman客户端将带有查询的请求(请参见下面的屏幕快照)发送到服务器,但出现错误

GraphQL查询

{
  musicians {
    id
    name
  }
}

错误响应

{ “错误”:[ { “ message”:“批处理请求应收到一个列表,但收到{'query':'bla bla'} } ]}

邮递员屏幕截图

request screenshot

问题

  1. GraphQL批处理请求发送到 Graphene-Django 的正确方法是什么?
  2. 如何使用 Postman 客户端向 Graphene-Django 发送 GraphQL批处理请求

解决方法

Graphene-Django 将查询视为 字典列表 (或JSON对象的JSON数组)。

因此,您需要以以下方式构建有效负载

[
    {
        "query": "{musicians{id}}"
    },{
        "query": "{musicians{name}}"
    },{
        "query": "{musicians{id,name,}}"
    }
]

请确保从POSTMAN客户端(或任何 non-GraphQL 客户端)以 原始JSON 发送请求>

结果屏幕截图

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。