Appsync 缺少解析器
Appsync missing resolver
我正在使用 AWS appsync + DynamoDB。
问题:我在 'Users' 模式中创建了新字段 'rating':
type Users {
id: ID!
first: String!
last: String!
rating: String #<----The new field
}
AppSync 创建了所有资源,我可以使用 Mutations 创建新记录,这非常有效。
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
}
}
在 "Missing Resolver" 下 here 清楚地确定了问题,但没有明确的解决方案。
我尝试在 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
}
}
}
我正在使用 AWS appsync + DynamoDB。
问题:我在 'Users' 模式中创建了新字段 'rating':
type Users {
id: ID!
first: String!
last: String!
rating: String #<----The new field
}
AppSync 创建了所有资源,我可以使用 Mutations 创建新记录,这非常有效。
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
}
}
在 "Missing Resolver" 下 here 清楚地确定了问题,但没有明确的解决方案。
我尝试在 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
}
}
}