Go调用WikiJS GraphQL API时String!转[String!]类型转换问题咨询
问题原因
你调用的WikiJS GraphQL接口中,list查询的tags参数类型定义为[String!](非空字符串数组),但你传参时传入的是单个String!类型值,类型不匹配触发报错。
解决方法
把传入的tags参数改成graphql.String类型的切片即可,对应修改variables部分代码:
variables := map[string]interface{}{ "tags": []graphql.String{graphql.String(tag)}, }
如果需要传入多个标签,按如下格式拼接即可:
variables := map[string]interface{}{ "tags": []graphql.String{ graphql.String(tag1), graphql.String(tag2), // 按需补充更多标签 }, }
额外注意
你当前定义的查询结构体中,id字段首字母为小写,Go语言反射无法读取私有字段,会导致返回结果无法正常赋值,建议修改为大写:
var query struct{ Pages struct{ List struct{ ID graphql.Int // 首字母大写 }`graphql:"list(tags: $tags)"` } }
内容的提问来源于stack exchange,提问作者IkuroNoriiwa
相关产品推荐
相关产品推荐

