错误:无效的 AST 节点:"input":"** on graphql 突变(放大客户端)

Posted

技术标签:

【中文标题】错误:无效的 AST 节点:"input":"** on graphql 突变(放大客户端)【英文标题】:Error: Invalid AST Node: "input":"** on graphql mutation (Amplify client)错误:无效的 AST 节点:"input":"** on graphql 突变(放大客户端) 【发布时间】:2020-04-18 08:18:40 【问题描述】:

我尝试在 api doc("https://aws-amplify.github.io/docs/cli-toolchain/graphql?sdk=js") 上使用示例架构,如下面的多对多连接

type Post @model 
  id: ID!
  title: String!
  editors: [PostEditor] @connection(keyName: "byPost", fields: ["id"])


# Create a join model and disable queries as you don't need them
# and can query through Post.editors and User.posts
type PostEditor
  @model(queries: null)
  @key(name: "byPost", fields: ["postID", "editorID"])
  @key(name: "byEditor", fields: ["editorID", "postID"]) 
  id: ID!
  postID: ID!
  editorID: ID!
  post: Post! @connection(fields: ["postID"])
  editor: User! @connection(fields: ["editorID"])


type User @model 
  id: ID!
  username: String!
  posts: [PostEditor] @connection(keyName: "byEditor", fields: ["id"])

我创建了所有项目,然后尝试删除它们,但我失败了,尤其是在 PostEditor 上。

有一个删除 PostEditor 的突变,所以我像下面这样称呼它

API.graphql(graphqlOperation((deletePostEditor, input: id,)))

失败并显示以下错误消息。

错误:无效的 AST 节点:"input":"b2f7064c-af32-49cd-8c87-*******"

我想我提供了正确的 ID。我在查询时检查了它。

【问题讨论】:

是否可以共享客户端代码,deletePostEditor 代码是通过amplify codegen生成的。代码如下。 export const deletePostEditor = mutation DeletePostEditor( $input: DeletePostEditorInput! $condition: ModelPostEditorConditionInput ) deletePostEditor(input: $input, condition: $condition) id postID editorID post id title editors nextToken labels nextToken editor id username posts nextToken ; 【参考方案1】:

您应该将参数作为graphqlOperation 的第二个参数传递。所以,检查你的括号 API.graphql(graphqlOperation((deletePostEditor, input: id,))),你有一对额外的括号

下面是正确的一个API.graphql(graphqlOperation(deletePostEditor, input: id ))

第一个参数=deletePostEditor 第二个参数= 输入: id

小错误,不是吗?

【讨论】:

我为自己的错误感到羞耻...我不应该关闭 eslint 或仔细看代码... 它发生在我们所有人身上,不用担心:-)

以上是关于错误:无效的 AST 节点:"input":"** on graphql 突变(放大客户端)的主要内容,如果未能解决你的问题,请参考以下文章

JPQL 意外 AST 节点:围绕“coalesce”

遵循中继分步指南时出现 AST 节点错误

hibernate hsql得到错误节点没有数据类型:org.hibernate.hql.ast.tree.IdentNode

Azure 机器学习在运行管道时抛出错误“无效图:节点中的计算目标无效”

ValueError:添加 Keras 层时带有 ast.literal_eval() 的节点或字符串格式错误

ValueError:错误的节点或字符串:<_ast.Name object at 0x0000016835AEE3D0>