Raj*_*jan 2 graphql graphql-java github-graphql graphql-spring-boot
当我在请求中未使用别名时,收到错误“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
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了验证错误,但如果我使用下面所示的别名,错误不会出现,并且我会得到成功的响应。
我不想使用别名,请建议是否有任何解决方法。谢谢 !
{
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
}
}
Run Code Online (Sandbox Code Playgroud)
通常GraphQL
以 JSON 对象的形式返回数据,并且 JSON 文档中不可能有 2 个(有效)对象具有相同的键(在您的情况下person
)。因此,实现您所描述的目标几乎是不可能的。
您的第一个查询的结果将类似于:
{
"data": {
"person": {
"firstname": "DAN",
...
},
"person": { // this is not valid
"firstname": "FRANK"
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
这就是为什么你必须使用alias
.
另一种选择是查看 GraphQL 服务器是否有一个返回列表的查询,person
并且结果将位于数组内部,例如:
{
"data": [
{
"firstname": "DAN",
...
},
{
"firstname": "FRANK",
...
}
[
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1514 次 |
最近记录: |