我目前正在使用GraphQL transform lib生成我的所有架构。 我有一个这样定义的模型:
type Feedback @model {
id: ID!
event: Event! @connection(name: "EventFeedbacks")
submittedDate: AWSDateTime!
}
,自动生成的订阅模式如下:
type Subscription {
onCreateFeedback: Feedback
@aws_subscribe(mutations: ["createFeedback"])
}
我想为订阅提供一个参数,以便我只能订阅该事件,如下所示:
type Subscription {
onCreateFeedback(eventId: ID): Feedback
@aws_subscribe(mutations: ["createFeedback"])
}
我需要怎么做才能自动生成此订阅?谢谢!
答案 0 :(得分:2)
当前不支持自定义订阅字段参数。唯一受支持的自定义功能是创建与单个突变相关的多个订阅字段。
示例:
type Feedback @model(subscriptions: { onCreate: ["onCreateFeedback", "onCreateFeedbackById"] }) {
id: ID!
event: Event! @connection(name: "EventFeedbacks")
submittedDate: AWSDateTime!
}
将为订阅类型生成:
type Subscription {
onCreateFeedback: Feedback
@aws_subscribe(mutations: ["createFeedback"])
onCreateFeedbackById: Feedback
@aws_subscribe(mutations: ["createFeedback"])
}
但是您将不得不在eventId
字段上手动添加onCreateFeedbackById
参数。
答案 1 :(得分:2)
正如@Tinou正确概述的那样,您可以使用pub
arg重命名和关闭@model
生成的订阅字段,但是还可以通过添加{{1}来创建自定义订阅}输入您的架构。
subscriptions
使用这种方法,您可以添加所需的任何字段和参数。