我正在尝试构建一个接受集合的突变。GraphQL 服务器是用 c# .net core 编写的,并使用 GraphQL.Net。
这是我的输入类型;
public class PupilReportInputType : InputObjectGraphType<PupilReport>
{
public PupilReportInputType()
{
Name = "PupilReportInput";
Field(pr => pr.PupilId);
Field(pr => pr.PupilMetricCollections, type: typeof(ListGraphType<PupilMetricCollectionInputType>));
}
}
使用 GraphiQL 我尝试发布以下突变;
mutation getPupilReportText($pupilReport: PupilReportInput!) {
getPupilReportText(pupilReport: $pupilReport)
}
具有以下变量;
{
"pupilReport": {
"pupilId" : 5,
"pupilMetricCollections": {
"pupilMetricCollection" : {
"pupilId" : 5
}
}
}
}
我得到的回应是;
{
"errors": [
{
"message": "Variable '$pupilReport.pupilMetricCollections[0]' is invalid. Unable to parse input as a 'PlayerMetricCollectionInput' type. Did you provide a List or Scalar value accidentally?",
"extensions": {
"code": "INVALID_VALUE"
}
}
]
}
如果PupilReportInputType
已PupilMetricCollections
删除该字段并且对变异变量进行了类似调整,则查询的行为与预期相同(不是错误)。同样,如果我修改变量输入并且PupilReportInputType
使该字段只是PupilMetricCollectionInputType
而不是ListGraphType<PupilMetricCollectionInputType>
那么我就可以让它全部工作。
我如何传递收藏PupilMetricCollectionInputType
?我需要某种 ListGraphInputType 吗?