当我没有用于订阅的解析器时,我对订阅没有任何问题,但是当我将解析器设置为仅允许特定用户使用时,在我的角度应用程序中会出现此错误
appsync.service.ts:187错误:订阅握手期间出错 在新的ApolloError(ApolloError.js:37) 在subscription-handshake-link.js:116 在新的订阅中(Observable.js:183) 在Observable.subscribe(Observable.js:262) 在index.js:20 在ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invoke (zone.js:388) 在Object.onInvoke(core.js:3820) 在ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invoke (zone.js:387) 在Zone.push ../ node_modules / zone.js / dist / zone.js.Zone.run(zone.js:138) 在zone.js:872
解析器
数据源类型:无
配置请求映射模板。
esdigibonyan.users
配置响应映射模板。
#set ($a= $context.identity.cognitoIdentityAuthProvider.split(":"))
#set ($s= $a.get(2))
#set ($stringLength = $s.length() - 1)
#set ($sub = $s.substring(0,$stringLength))
{
"version": "2017-02-28",
"payload": {
"from": "$sub",
"id":"${context.arguments.id}"
}
}
仅为简化起见,我尝试了此解析器响应,但我遇到了相同的错误
#if(${context.arguments.id} == ${context.result.from})
$util.toJson($context.result)
#else
$utils.unauthorized()
#end
答案 0 :(得分:0)
如果我将 $ util.toJson($ context.result)替换为 null 可以正常工作。
#if(${context.arguments.id} == ${context.result.from})
null
#else
$utils.unauthorized()
#end