当前位置: 首页 > 知识库问答 >
问题:

Sangria简单的graphQL查询,但语法错误

拓拔浩阔
2023-03-14

Sangria.parser.SyntaxError:解析GraphQL查询时出现语法错误。输入结尾意外,应为union、Comments、INTERNECT、SPALEAR、enum、type、inputType或directive(第1行第79列):“Query FetchPokemons{\n pokemonsWithHeight(Height:100){\n NAME\n}\n}”

但是在检查了graphql文档之后,这个查询字符串似乎没有理由在解析阶段失败。这是我处理http正文的代码

def queryResult(request: Json, schema: Schema[Resolvers, Unit], resolvers: Resolvers)(
  implicit ec: ExecutionContext
): Route = { ctx =>
  for {
    queryJson <- Future.fromTry(Try(request.findAllByKey("query").head))
    queryAst  <- Future.fromTry(QueryParser.parse(queryJson.noSpaces))
    variables =  request.findAllByKey("variables").headOption.getOrElse(Json.obj())
    opName    =  request.findAllByKey("operationName").headOption.flatMap(_.asString)
    result    <- Executor.execute(schema, queryAst, resolvers, operationName = opName, variables = variables)
    res       <- ctx.complete(StatusCodes.OK -> result)
  } yield res
}

共有1个答案

酆意智
2023-03-14

我不得不手动将\“和\\n从

“查询FetchPokemons($Height:Int){\n pokemonsWithHeight(Height:$Height){\n Name\n}\n}”

喂食

 类似资料:
  • 问题内容: 这可能是一个简单的答案,但是我盯着它看了太久了… 我有以下查询,该查询将存储过程输入参数作为变量名并计算该表中的记录。我想将动态语句(@toStartStr)的结果检索到变量(@toStart)中。 现在,出现错误提示@toStart无法与字符串SELECT串联,但这是我想要的要点。有人可以看到我在做什么吗?还是建议替代方案?FYI SQL 2008 R2。谢谢。 问题答案: DECL

  • 我正在查看用Scala编写GraphQL服务器的Sangria库。但奇怪的是,同一个类型系统必须实现两次:(1)作为GraphQL类型声明的一部分,(2)也是在服务器端,作为Scala case类,附带ObjectType、InterfaceType等。 在Scala中硬编码类型系统尤其令人厌烦,因为我的目的是能够CRUD任意形状的聚合,其中每个形状都被定义为类型的GraphQL集合。例如,假设S

  • 我得到一个错误: CORS策略阻止了在“https://api.example.com/graphql”从来源“chrome-search://local-ntp”获取:对飞行前请求的响应没有通过访问控制检查:请求的资源上没有“access-control-allog-orgin”标头。如果一个不透明的响应满足您的需要,请将请求的模式设置为“no-cors”,以便在禁用CORS的情况下获取资源。

  • 刚接触 GraphQL,我在通过 GraphiQL 发送查询时遇到问题。 这是我的方案. js 当我在 graphiql 上运行以下查询时: 我收到“语法错误 GraphQL 请求 (3:9) 预期名称,找到字符串”,但我希望获得 ID 为“23”的用户。 我错过了什么?

  • 有人知道为什么这么简单的查询会出现两个错误吗?错误消息是: 警告:mysqli::准备():无法获取mysqli在(...)/functions.php行503 致命错误:在第504行的(…)functions.php中调用null上的成员函数bind_param()