【问题标题】:Inserting variable values in GraphQL query在 GraphQL 查询中插入变量值
【发布时间】:2023-03-19 17:47:01
【问题描述】:

我有一个基本的graphql查询作为一个字符串,它按预期执行之前我尝试修改它并添加输入变量(查询很长,所以我只会包括查询的开头,即变量需要插入的地方)

query {
  vessels {
    pageInfo {
      hasNextPage
      endCursor
    }
    nodes {
...

这有效并返回预期的响应:

try:
    response = client.execute(gql(query))
except BaseException as e:
    logger.error(e)
    raise

模式允许查询特定的容器,所以我按照gql文档here中的示例输入变量列表

query {
  vessels (mmsi: $code ) {
    pageInfo {
      hasNextPage
      endCursor
    }
    nodes {
...

但是,这不起作用并引发错误:

params = {"code": [775903449, 775982824]}

try:
    response = client.execute(gql(query), variable_values=params)
except BaseException as e:
    logger.error(e)
    raise
graphql.error.base.GraphQLError: Variable "$code" is not defined.

将变量插入/替换到查询字符串中我做错了什么?任何帮助将不胜感激!

【问题讨论】:

    标签: python graphql gql


    【解决方案1】:

    可以回答我自己的问题 - 需要在查询的第一部分定义变量!

    query ($code: [MMSI!]) {
      vessels (mmsi: $code ){
        pageInfo {
          hasNextPage
          endCursor
        }
        nodes {
    

    【讨论】:

      猜你喜欢
      • 2021-12-21
      • 2019-05-17
      • 2023-03-12
      • 2018-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-03
      相关资源
      最近更新 更多