提问人:Bob Redity 提问时间:2/19/2022 更新时间:2/21/2022 访问量:6100
如何在GraphQL的查询中传递对象类型参数?
How to pass object type argument in query in GraphQL?
问:
我收到了这种类型的查询
query {
searchRandom (param : MyObjectClass){
city
}
}
如何设置类型为 的 param 并将其传递到查询中?为了能够在这里进行测试?MyObjectClass
答:
4赞
Nuvindu Nirmana
2/20/2022
#1
使用以下查询。
query getData($param: MyObjectClass){
searchRandom(param: $param)
city
}
然后转到 Graphiql 中的查询变量选项卡,并像这样传递变量数据。您没有提到 MyObjectClass 中包含的数据类型。因此,请使用此作为示例:
{
"param": {"country": "England", "population": "High" }
}
然后,数据应按预期返回。
---此外---
如果正在运行服务器,请确保已设置以下内容。
您需要在 GraphQL 架构中创建一个输入对象。
input MyObjectClass {
country: String
population: String
}
然后,在解析器中,您必须将对象作为参数传递。(假设您使用的是 JavaScript)
const resolvers = {
Query: {
searchRandom: (parent, { param }) => {
var query_data = param
...//your code
return city_name;
},
},
我不确定这是否能解决您的问题。我希望这个答案有所帮助。
评论