GraphQL传参时出现语法错误,相同语法的Mutation可正常运行
解决GraphQL Query语法错误:Expected Name, found }
嘿,我一眼就揪出问题啦!你的LoadUsersQuery里藏了个小笔误——在users(where: $where})这一行,多写了一个右大括号},把这个多余的括号删掉就能解决语法错误了!
错误原因拆解
GraphQL的语法解析器在处理$where}的时候,原本预期变量名$where结束后应该跟着合法的语法符号(比如左大括号或者右括号),结果却意外遇到了额外的},直接触发了Syntax Error: Expected Name, found }的报错。
修正后的完整Query代码
interface WhereInput { email_contains: String; } export const LoadUsersQuery = gql` query usersList($where: WhereInput) { users(where: $where) { # 这里去掉了多余的} nodes { email firstName } totalCount } } `
后续验证
修正后你的变量传递逻辑完全没问题:调用loadUsers时传入的{ variables: { where: {email_contains: searchItem} } },会正确映射到Query的$where参数,和你在Playground里测试的原始Query逻辑完全一致,应该就能正常运行了。
内容的提问来源于stack exchange,提问作者user12541823
相关产品推荐
相关产品推荐

