GraphQL转JSON请求传递字符串id触发报错如何解决?
问题原因
你提供的Schema定义中,user查询的id参数明确指定为String类型,你当前请求中传入的是数字3,不符合类型校验规则,因此触发报错。
解决方法
方式一:直接在查询中传入字符串值
由于查询语句是JSON的字符串字段值,内部的双引号需要做转义处理,修改后的请求如下:
{"query":"{user(id:\"3\"){id,firstName,age}}"}
方式二:使用变量传参(更推荐)
将参数单独放在variables字段中传递,不需要处理转义逻辑,代码可维护性更高,写法如下:
{ "query": "query getUser($userId: String) {user(id: $userId){id,firstName,age}}", "variables": { "userId": "3" } }
内容的提问来源于stack exchange,提问作者theGreatRegression
相关产品推荐
相关产品推荐

