【问题标题】:How to specify (import?) scheme in GraphQL in python (graphene?)?如何在 python(石墨烯?)的 GraphQL 中指定(导入?)方案?
【发布时间】:2018-09-04 18:30:48
【问题描述】:

不好意思问,但我们有 Java 上的 GraphQL Server (https://github.com/graphql-java/graphql-spring-boot),我们在其中为我们的服务指定了 type.graphqls 方案。
在客户端,我们有基于 Apollo 客户端库的 JS 代码。而且它不需要访问这种类型的文件。
但是日子到了,我需要编写一些 API 测试。我们团队中的大多数人都说 Python 很好,所以我决定在 Python 上制作测试工作台,但我找不到任何库可以让我编写无模式查询或导入我的 types.graphqls 方案。
如何在 python 上为自定义 GraphQL 服务器编写测试?
谢谢!

【问题讨论】:

  • 客户端(或测试)实际上不需要访问您的架构定义文件。所有的信息都可以通过自省获得,这是所有图书馆通常所做的。
  • 自省?可以提供一些链接吗?
  • 检查here。客户可以通过这种方式获取所有信息。而且大多数库都提供了一种将自省结果转换为 SDL 以供人类阅读的方法。

标签: python graphql web-api-testing graphene-python graphql-java


【解决方案1】:

最后我找到了一个基于请求库的简单 GraphQL 客户端的要点:

import requests

def run_query(query, variables):
    request = requests.post('https://dev.darkdata.finance:9000/graphql',
                        json={'query': query, 'variables': variables})

    if request.status_code == 200:
        return request.json()
    else:
        raise Exception("Query failed to run by returning code of {}. {}".format(request.status_code, query))

如果需要,您可以使用它来测试简单的查询。 来源:https://gist.github.com/gbaman/b3137e18c739e0cf98539bf4ec4366ad

【讨论】:

    猜你喜欢
    • 2017-05-11
    • 2017-05-13
    • 2020-07-27
    • 2020-09-19
    • 2018-03-11
    • 2020-04-22
    • 2020-02-14
    • 2020-01-20
    • 2019-12-20
    相关资源
    最近更新 更多