在AWS的AppSync中的请求模板中,如果用到了variableMap的功能,那么需要注意下面这个很坑的算法:
举例:
如有下面的请求映射模板(Request Mapping template)
{
"version": "2018-05-29",
"statements": [
"INSERT into table1 values(
:prefix01
, :prefix01TXT
)"
],
"variableMap": {
"prefix01": "01",
"prefix01TXT": "txt"
}
}
则生成的sql是这个样子的
INSERT into table1 values(
'01'
, '01'TXT
)
然后SQL就报错了,而且报的错误会让人一头雾水
而且,如果在SQL文中,如果变量前面没有空格,比如下面这样,在INSERT中的变量:prefix01 前面没有空格,则会告诉你,找不到这个变量等等
{
"version": "2018-05-29",
"statements": [
"INSERT into table1 values(
:prefix01
,:prefix01TXT
)"
],
"variableMap": {
"prefix01": "01",
"prefix01TXT": "txt"
}
}
结论:AWS开发Appsync的这帮厮都是店小二出身,编码的智商感人