首页 > 解决方案 > 使用 GraphQL 查询 URL 返回“语法错误 GraphQL (1:35) 预期名称”

问题描述

我尝试使用 API 在链接中添加查询GraphQL

 https://app.io/graphql?query={getUserLandfields(userId:b98a07c7-14d5-48fe-841a-d8726b75f528,page:1,items:1){count,landfields{id,forSale,thumbnail,description,location,center,price,purchaseValue,country,tileCount,currentValue,tradingValue}}}

但返回此错误Syntax Error GraphQL (1:35) Expected Name

有人可以向我解释这个错误吗?

标签: javascriptjsonapiurlgraphql

解决方案


该错误Syntax Error GraphQL (1:35) Expected Name.告诉您查询中的第 1 行第 35 列有问题。如果您查看查询

{getUserLandfields(userId:b98a07c7-14d5-48fe-841a-d8726b75f528,page:1,items:1)

第 35 列在-14d5.

您的错误是因为您的查询无效,这与您在 URL 参数中使用它的事实无关。

getUserLandfields(userId:b98a07c7-14d5-48fe-841a-d8726b75f528,

需要在 UUID 周围加上引号,例如

getUserLandfields(userId:"b98a07c7-14d5-48fe-841a-d8726b75f528",

否则userId:b98a07c7-14d5基本上将大致按照以下方式进行标记化

userId:b98a07c7 -14 d5

whereb98a07c7只是一个命名值userId(它不是一个有效的 UUID,但它直到稍后才被验证),然后其余的标记将被解析,就好像它们是 的更多参数一样getUserLandfields,所以解析器正在寻找一个 "下一个参数的名称”,因此是“预期名称”。错误信息。鉴于您提供的内容,它会看到这-14是一个数字,而不是 a Name,因此它会出错。


推荐阅读