GraphQL 的响应 query/mutation
Response of a GraphQL query/mutation
我有一个关于 GraphQL query/mutation 的响应在以下每种情况下应该是什么样子的问题:
- 有结果,没有错误
- 出了点问题,一个或多个错误
- 既有结果也有错误
我不确定后者是否可能,但我似乎记得在某处读到它可能发生。例如。在多个突变的情况下,比方说两个,其中每个突变按顺序处理。我认为如果第一个突变没问题,可能会发生上面的案例 #3,但在执行第二个突变时会发生错误,但我不确定。
无论如何,回复应该是什么样的?喜欢下面的吗? (JSON 中的示例,其中每个示例都与之前的案例相对应。)还是有其他更惯用的方式?也许中继提供了一些关于它应该是什么样子的指导方针?我找不到任何好的资源。
1:
{
"data": {
...
}
}
2:
{
"errors": [
{
...
},
...
]
}
3:
{
"data": {
...
},
"errors": [
{
...
},
...
]
}
谢谢。
是的,我觉得你的回答样本很合适。这是 "case 3".
的更详细示例
其中一个字段有错误的示例查询
query MyQuery {
viewer {
articles(first: 1) {
edges {
node {
title
tags # we'll introduce an error in the schema here
}
}
}
}
}
示例响应
{
"data": {
"viewer": {
"articles": {
"edges": [
{
"node": {
"title": "Sample article title",
"tags": null
}
}
]
}
}
},
"errors": [
{
"message": "Cannot read property 'bar' of undefined",
"locations": [
{
"line": 7,
"column": 11
}
]
}
]
}
我有一个关于 GraphQL query/mutation 的响应在以下每种情况下应该是什么样子的问题:
- 有结果,没有错误
- 出了点问题,一个或多个错误
- 既有结果也有错误
我不确定后者是否可能,但我似乎记得在某处读到它可能发生。例如。在多个突变的情况下,比方说两个,其中每个突变按顺序处理。我认为如果第一个突变没问题,可能会发生上面的案例 #3,但在执行第二个突变时会发生错误,但我不确定。
无论如何,回复应该是什么样的?喜欢下面的吗? (JSON 中的示例,其中每个示例都与之前的案例相对应。)还是有其他更惯用的方式?也许中继提供了一些关于它应该是什么样子的指导方针?我找不到任何好的资源。
1:
{
"data": {
...
}
}
2:
{
"errors": [
{
...
},
...
]
}
3:
{
"data": {
...
},
"errors": [
{
...
},
...
]
}
谢谢。
是的,我觉得你的回答样本很合适。这是 "case 3".
的更详细示例其中一个字段有错误的示例查询
query MyQuery {
viewer {
articles(first: 1) {
edges {
node {
title
tags # we'll introduce an error in the schema here
}
}
}
}
}
示例响应
{
"data": {
"viewer": {
"articles": {
"edges": [
{
"node": {
"title": "Sample article title",
"tags": null
}
}
]
}
}
},
"errors": [
{
"message": "Cannot read property 'bar' of undefined",
"locations": [
{
"line": 7,
"column": 11
}
]
}
]
}