使用与Mutation相同的别名来定义Subscription中的字段,或使用$ctx.source访问Mutation中未包含在Subscription中的别名字段。
例如,在Mutation中:
type Mutation{
updateUser(id: ID!, name: String!, email: String!): User
@aws_iam
@aws_subscribe(mutations: ["updateUser"])
}
type User{
id: ID!
name: String!
email: String!
}
在Subscription中,可以使用与Mutation相同的别名来定义字段:
type Subscription{
updatedUser: User
@aws_subscribe(mutations: ["updateUser"])
}
或者,使用$ctx.source来访问包含别名的字段:
type Subscription{
updatedUser: User
@aws_subscribe(mutations: ["updateUser"])
@aws_key(fields: ["id"])
}
然后,在resolver中,可以使用$ctx.source来访问别名字段:
{
"version": "2018-05-29",
"resolver": {
"typeName": "Subscription",
"fieldName": "updatedUser",
"dataSourceName": "myDataSource",
"requestMappingTemplate": "/* Your Request Mapping Template */",
"responseMappingTemplate": "$util.toJson($ctx.source)"
}
}