问题标签 [ariadne-graphql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
595 浏览

python - 将 prisma graphql 查询与 ariadne 集成

我已经编写了一些 graphql 模式并使用 prisma 部署它。Prisma 生成了一些.graphql文件type Querytype Mutation ,type Subscription。有一个从 docker 运行的 prisma 服务器正在连接 MySQL 数据库。现在我想使用 Ariadne 编写一些 API 函数并使用 Prisma 查询联系数据库。我怎样才能做到这一点?

提供给 prisma 的 GraphQL Schema

datamodel.prisma

生成的 graphql 文件示例

prisma.graphql

使用 ariadne 尝试连接到数据库的 API 代码片段

我正在尝试执行users查询,即从数据库中获取所有用户。

api.py

使用 uvicorn 运行服务器 uvicorn api:app --reload --port 7000

我可以使用以下查询在 prisma playground 中获得所有用户。

用于从数据库中获取所有用户的 prisma playground 的屏幕截图

用 ariadne 做同样的尝试resolve_users解析器尝试同样的方法是行不通的。

给我以下错误:

来自 ariadne 的错误截图

0 投票
1 回答
392 浏览

python - Ariadne 中联合类型的解析器函数

我正在尝试为 Ariadne 中的联合类型编写查询解析器函数。我怎样才能做到这一点?

正如我在文档中所读到的,有一个名为的字段__typename可以帮助我们解析联合类型。但我没有得到任何__typename解析器功能。

架构

Ariadne 解析器函数

查询我正在尝试

当我尝试查询时,出现以下错误

0 投票
0 回答
282 浏览

django - 使用 facebook 验证 graphql 的正确方法

我正在使用 graphql (ariadne) + Django 做 Web 应用程序。现在我想在不使用 DRF 的情况下将它与 Facebook 身份验证集成。所以我想用jwt。有什么好的做法或建议吗?在 graphql 中进行身份验证的正确方法是什么?

0 投票
1 回答
329 浏览

python - 在 django 中使用 ariadne 时的文件夹设计

我正在尝试在我的 django 项目中探索 ariadne。但是,我觉得创建文件夹结构非常困难,因为我没有看到太多主要集中于此的示例。我也没有找到任何单一的教程。到处都是相同的方法,就是将每个代码都放在schema.py.

这是一个例子

您将如何在一个大型 django 应用程序中设计您的文件夹,其中有超过 10、15 个应用程序,如帐户、产品、评论等?如果我们使用普通的 django,那么它已经给出了以下结构

但是如果我们想在 django 中使用 ariadne 并考虑每个应用程序的 crud 功能,您现在将如何设计您的项目?

0 投票
1 回答
360 浏览

python - 没有外部服务器的 Python GraphQL Ariadne WSGI 示例

Ariadne 介绍文档中,完整的代码不包括 http 服务器部分。该页面指示您启动外部服务器,将服务器指向您的代码。

该文档有一个wsgi page,它再次不包括服务器部分。

python 本身应该已经附带了一个内置的 WSGI 服务器。有没有包含服务器部分的简单示例?我假设应该对上述介绍示例进行简单扩展。

0 投票
1 回答
563 浏览

python - 在解析器之前修改 Ariadne 中的上下文

context在传递给解析器函数之前如何修改它的内容?

0 投票
1 回答
2104 浏览

starlette - 没有背景对象时如何使用 Starlette 的后台任务?

我希望目前避免使用芹菜。在 Starlette 的文档中,他们提供了两种添加后台任务的方法:

通过石墨烯:https ://www.starlette.io/graphql/

通过 JSON 响应:https ://www.starlette.io/background/

有谁知道用 Ariadne 在 Starlette 的背景中添加任务的方法?我无法在解析器中返回 JSONResponse,也无权访问 info.context["background"]。我唯一附加到我的上下文的是我的请求对象。

0 投票
2 回答
1044 浏览

python - Python Ariadne GraphQL“无法导入名称'GraphQLNamedType'”

我将 Ariadne 与 Flask 一起使用。

from ariadne import QueryType, graphql_sync, make_executable_schema当我按照Ariadne 的 Flask 文档中的说明尝试时,出现以下错误:

我在用 :

  • Python 3.5.1

  • ariadne-0.11.0

  • graphql-core-2.3.2

0 投票
0 回答
325 浏览

python - GraphQLView 中的中间件在 Django Ariadne Graphql 中不起作用

我是 ariadne 的新手,我定义了我的 typedef 和解析器,一切都在运行,但我想在我的项目中使用 django-ariadne-jwt 来处理 JWT 的事情,在 django-ariadne-jwt 文档中有一行代码这不起作用,该行是:

在 GraphQLView.as_view 函数中,我通过 middleware=[JSONWebTokenMiddleware()],这是授权和令牌验证所必需的,但是这个中间件无论如何都不起作用,谁能给我一个解决方案?

django-ariadne-jwt 文档:https ://pypi.org/project/django-ariadne-jwt/

authentication_backends 是:

0 投票
2 回答
1599 浏览

python - Graphql 突变以上传具有其他字段的文件

我正在使用 Ariadne 创建一个 python GraphQL 服务器,并且我有以下突变来上传文件:

以下 curl 命令用于上传图片:

上面的命令可以完美地将图像上传到端点。

但是,我需要将用户 ID 与图像一起传递,如下所示:

我正在努力获得正确的 curl 命令来上传带有userid.

我尝试了下面的命令

但我收到了这个回复File data was missing for entry key '1' (https://github.com/jaydenseric/graphql-multipart-request-spec).

如何调用我的 GraphQL 端点传递useridimagefor upload ?