0
votes

I have next code for update item in DB with mapping template:

 $!{expSet.put("available", ":available")}
 $!{expValues.put(":available", { "BOOL": $ctx.args.available })}

when I send available = false - it's ok, but if available = true I get error

"Unable to parse the JSON document: 'Unexpected character (':' (code 58)): was expecting double-quote to start field name

schema in GraphQl

type Item {
....
    available: Boolean!
....
} 

What I do wrong ?

1

1 Answers

1
votes

Your UpdateItem request mapping template should look something like:

{
"version" : "2017-02-28",
"operation" : "UpdateItem",
"key" : {
    "id" : { "S" : "${context.arguments.id}" }
},
"update" : {
    "expression" : "SET #available = :available",
    "expressionNames": {
        "#available" : "available"
    },
    "expressionValues": {
        ":available" : { "BOOL": ${context.arguments.available} }
    }
  }
}