当我在请求中未使用别名时,出现错误“ FieldsConflict类型的验证错误”。请确认是否符合预期或有解决方法
{
person(search: [{firstname: "DAN", lastname: "WATLER", country: "FRANCE"}])
{
firstname
lastname
country
age
address
}
person(search: [{firstname: "FRANK", lastname: "TEE", country: "FRANCE"}])
{
firstname
lastname
country
age
address
}
}
上面的代码给出了验证错误,但是如果我使用下面显示的别名,错误就不会出现,并且我会成功地响应。
我不想使用别名,请提出任何解决方法。 谢谢!
{
dan: person(search: [{firstname: "DAN", lastname: "WATLER", country: "FRANCE"}])
{
firstname
lastname
country
age
address
}
frank: person(search: [{firstname: "FRANK", lastname: "TEE", country: "FRANCE"}])
{
firstname
lastname
country
age
address
}
}
答案 0 :(得分:1)
通常,GraphQL
将数据作为JSON对象返回,并且在JSON文档中不可能有2个(有效)对象具有相同的键(在您的情况下为person
)。因此,要实现您的描述几乎是不可能的。
第一个查询的结果将类似于:
{
"data": {
"person": {
"firstname": "DAN",
...
},
"person": { // this is not valid
"firstname": "FRANK"
...
}
}
}
这就是为什么您必须使用alias
。
另一种选择是查看GraphQL服务器是否具有返回person
列表的查询,并且结果将在数组内部,例如:
{
"data": [
{
"firstname": "DAN",
...
},
{
"firstname": "FRANK",
...
}
[
}