GraphQL更新和删除突变不起作用
我是GraphQL新手,正在与POSTMAN一起开发AWS AppSync和测试 我创建了API,并能够运行createMutation和List查询 这是我的模式GraphQL更新和删除突变不起作用,graphql,amazon-dynamodb,aws-appsync,Graphql,Amazon Dynamodb,Aws Appsync,我是GraphQL新手,正在与POSTMAN一起开发AWS AppSync和测试 我创建了API,并能够运行createMutation和List查询 这是我的模式 input CreateUserInput { id: ID! name: String! gender: String! email: String! password: String! } input DeleteUserInput { id: ID! name: Str
input CreateUserInput {
id: ID!
name: String!
gender: String!
email: String!
password: String!
}
input DeleteUserInput {
id: ID!
name: String!
}
type Mutation {
createUser(input: CreateUserInput!): User
updateUser(input: UpdateUserInput!): User
deleteUser(input: DeleteUserInput!): User
}
input UpdateUserInput {
id: ID!
name: String!
gender: String
email: String
password: String
}
type User {
id: ID!
name: String!
gender: String!
email: String!
password: String!
}
《邮递员》作品如下:
查询:
变数
以下内容不起作用
质疑
变数
我得到一个错误:
{
"data": {
"updateUser": null
},
"errors": [
{
"path": [
"updateUser"
],
"data": null,
"errorType": "DynamoDB:ConditionalCheckFailedException",
"errorInfo": null,
"locations": [
{
"line": 2,
"column": 3,
"sourceName": null
}
],
"message": "The conditional request failed (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ConditionalCheckFailedException; Request ID: MG0N1EP32Q7D946OU4JODOQHH7VV4KQNSO5AEMVJF66Q9ASUAAJG)"
}
]
}
我认为身份证没有正确通过。我做错了什么?我发现了问题所在
在“更新和删除”对话框中,名称标记为必填。我还必须传递名称才能更新/删除
例如:
{
"deleteuserinput": {
"id": "u1",
"name": "Ashutosh Pandey"
}
}
当我在创建模型时选择name作为排序键时,出现了这种情况感谢Ashutosh提出的详细问题;很高兴你明白了!在将来,还建议包括请求映射模板VTL,因为这将指示实际发送到DynamoDB的内容
mutation updateUser($updateuserinput: UpdateUserInput!) {
updateUser(input: $updateuserinput) {
id
name
gender
email
password
}
}
{
"updateuserinput": {
"id": "AAAUzF6XsJUCJ7tJw0NREODencTOp6wES",
"name": "Somename2",
"gender": "male",
"email": "some@email2",
"password": "123456"
}
}
{
"data": {
"updateUser": null
},
"errors": [
{
"path": [
"updateUser"
],
"data": null,
"errorType": "DynamoDB:ConditionalCheckFailedException",
"errorInfo": null,
"locations": [
{
"line": 2,
"column": 3,
"sourceName": null
}
],
"message": "The conditional request failed (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ConditionalCheckFailedException; Request ID: MG0N1EP32Q7D946OU4JODOQHH7VV4KQNSO5AEMVJF66Q9ASUAAJG)"
}
]
}
{
"deleteuserinput": {
"id": "u1",
"name": "Ashutosh Pandey"
}
}