应用程序同步缺少解析器



我正在使用AWS appsync + DynamoDB。

问题:我在"用户"架构中创建了新字段"rating":

type Users {
id: ID!
first: String!
last: String!
rating: String #<----The new field
}

AppSync 创建了所有资源,我可以使用突变创建新记录,这就像一个魅力。

mutation createUsers{
createUsers(input:{
first:"John"
last:"Smith"
rating:"B" #<---Writing new field without problem
}){
id
first
last
rating #<---Confirming that is recorded in DynamoDB
}
}

问题是我无法弄清楚如何编写解析器以使以下查询工作。

query{
queryUsersByRating(rating: "B"){
items{
id
username
rating
}
}
}

结果是这样的:

{
"data": {
"queryUsersByRating": null
}
}

该问题在"缺少解析器"下已明确指出,但没有明确的解决方案。

我尝试直接在 AppSync 界面中附加以下解析器,但不起作用:

{
"version" : "2017-02-28",
"operation" : "Query",
"query" : {
"expression": "rating = :rating",
"expressionValues" : {
":rating" : $util.dynamodb.toDynamoDBJson($ctx.args.rating)
}
}
}

任何帮助将不胜感激,谢谢!

您不必编写自己的解析器即可按评级进行查询,Appsync 将所有字段包装在filter中。

query{
queryUsersByRating(filter: {rating: "B"}){
items{
id
username
rating
}
}
}

最新更新