如何解决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'} } ]}
邮递员屏幕截图
问题
- 将 GraphQL批处理请求发送到 Graphene-Django 的正确方法是什么?
- 如何使用 Postman 客户端向 Graphene-Django 发送 GraphQL批处理请求?
解决方法
Graphene-Django 将查询视为 字典列表 (或JSON对象的JSON数组)。
因此,您需要以以下方式构建有效负载
:[
{
"query": "{musicians{id}}"
},{
"query": "{musicians{name}}"
},{
"query": "{musicians{id,name,}}"
}
]
请确保从POSTMAN客户端(或任何 non-GraphQL 客户端)以 原始JSON 发送请求>
结果屏幕截图
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。