【问题标题】:Query URL with GraphQL return "Syntax Error GraphQL (1:35) Expected Name"使用 GraphQL 查询 URL 返回“语法错误 GraphQL (1:35) 预期名称”
【发布时间】:2021-10-04 10:45:42
【问题描述】:

我尝试使用 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}}}

但返回此错误语法错误 GraphQL (1:35) Expected Name。

谁能解释一下这个错误?

【问题讨论】:

    标签: javascript json api url graphql


    【解决方案1】:

    错误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
    

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

    【讨论】:

    • 我的朋友我爱你!太棒了:)
    猜你喜欢
    • 1970-01-01
    • 2018-06-28
    • 2020-09-12
    • 2018-01-06
    • 2020-10-03
    • 2021-07-28
    • 2017-07-27
    • 2021-02-18
    • 2022-12-05
    相关资源
    最近更新 更多