如何基于GraphQL Schema查询SchoolCode与defaultSubjects的关联
正确的GraphQL查询写法
先明确几个关键问题:你的Schema里只有school单查询字段,没有schools批量查询接口,所以你之前用schools的查询是无效的;另外School类型里并没有id和name字段,查询时请求不存在的字段会直接报错。
方法1:直接指定SchoolCode值查询
query { school(schoolCode: "dps") { code defaultSubjects # 按需添加其他需要的字段,比如optionalSubjects、defaultExams } }
方法2:用变量动态传入SchoolCode
query GetSchoolByCode($schCode: String!) { school(schoolCode: $schCode) { code defaultSubjects optionalSubjects defaultExams } }
对应的变量参数:
{ "schCode": "dps" }
注意:你的Schema里定义了SchoolCode枚举,但Query的school字段的schoolCode参数类型是String而非枚举,所以传入带引号的字符串值是正确的。如果后续把参数类型改成SchoolCode枚举,传入时就不需要加引号,直接写dps即可。另外建议不要同时传入id和schoolCode参数,避免后端逻辑冲突,只传你需要的schoolCode即可。
内容的提问来源于stack exchange,提问作者paul
相关产品推荐
相关产品推荐

