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

2024-04-29 08:47:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我通过将batch=True添加到.as_view(...)方法中,启用了Graphene-Django中的批处理查询处理功能,如下所示:

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

之后,我使用Postman客户机向服务器发送了请求(见下面的屏幕截图)和查询,但收到了一个错误

图形SQL查询

{
  musicians {
    id
    name
  }
}

错误响应

{ "errors": [ { "message": "Batch requests should receive a list, but received {'query': 'bla bla'}" } ] }

邮差截图

request screenshot

问题

  1. 向Graphene Django发送GraphQL批处理请求的正确方式是什么
  2. 如何使用邮递员客户端将GraphQL批处理请求发送到Graphene Django

Tags: django方法name功能viewtrueschemaas
1条回答
网友
1楼 · 发布于 2024-04-29 08:47:09

石墨烯Django期望查询作为dict的列表(或JSON对象的JSON数组)

所以你需要建立一个有效载荷

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

确保请求应作为原始JSON从邮递员客户端(或任何非GraphQL客户端)发送

结果屏幕截图

enter image description here

相关问题 更多 >