在 GraphQL 查询中插入变量值
Posted
技术标签:
【中文标题】在 GraphQL 查询中插入变量值【英文标题】:Inserting variable values in GraphQL query 【发布时间】:2022-01-10 16:15:18 【问题描述】:我有一个基本的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.
将变量插入/替换到查询字符串中我做错了什么?任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:可以回答我自己的问题 - 需要在查询的第一部分定义变量!
query ($code: [MMSI!])
vessels (mmsi: $code )
pageInfo
hasNextPage
endCursor
nodes
【讨论】:
以上是关于在 GraphQL 查询中插入变量值的主要内容,如果未能解决你的问题,请参考以下文章
Datalab 到 BigQuery - 将变量值插入 SQL