从 API 请求的 GraphQL 模式生成动态 Python 函数

Dynamic Python Function Generation from GraphQL Schema for API Requests

提问人:b8511 提问时间:11/17/2023 更新时间:11/17/2023 访问量:25

问:

我正在寻找一种方法来动态生成与 GraphQL 模式中定义的查询和突变相对应的 Python 函数。获得架构后,我想要一个可以自动创建这些函数的系统,这样我就可以简单地将生成的代码导入到我的 Python 项目中,并使用必要的参数调用这些函数。

理想的解决方案是通过抽象请求构造过程来促进与 GraphQL API 的无缝交互。它允许对架构进行更改,而无需手动更新客户端代码中的函数定义。

您能否就支持此功能的工具或库提供建议,或者向我指出一个允许这种自动化水平的流程?如果有现有的最佳实践或模式,尤其是那些迎合 Python 异步特性的最佳实践或模式,我将不胜感激地了解它们。

我尝试过ariadnegraphql代码生成器,但我必须指定这样的查询:

query MyQuery {
    getCar(plate_number: "14-77-ER") {
      addresses
      brand
      mongoObjId
    }
}

它为这个查询创建了一个带有修复参数的客户端。

python graphql 草莓- ariadne-graphql

评论

0赞 Anentropic 11/17/2023
github.com/mirumee/ariadne-codegen 听起来正是你想要的——这是你尝试过的不同吗?
0赞 b8511 11/17/2023
不,就是那个😞,创建的唯一查询是我被迫放入queries_path文件中的查询
1赞 b8511 11/17/2023
嗨,我做错了查询,而不是在查询中设置值,我应该使用这样的变量来设置它:query MyQuery($plate: String!){ getCar(plate_number: $plate) { 地址 品牌 mongoObjId } }
0赞 Anentropic 11/17/2023
啊,这是有道理的,很高兴你找到了一种方法!😃

答: 暂无答案