GraphQL查询/变异的响应

GraphQL查询/变异的响应,graphql,relayjs,Graphql,Relayjs,我有一个问题,关于GraphQL查询/变异的响应在以下每种情况下应该是什么样子: 有一个结果,没有错误 出了问题,一个或多个错误 这既有结果,也有一些错误 我甚至不确定后者是否可能,但我似乎记得在某个地方读到过,它可能发生。例如,在多个突变的情况下,比如说两个,每个突变都是按顺序处理的。我认为,如果第一个变异没有问题,那么上面的第三个案例可能会发生,但在第二个变异执行过程中会出现错误,但我不确定 不管怎样,答案应该是什么样的?像下面这些吗?(JSON中的示例,每个示例都与前面的案例对应)或者还有

我有一个问题,关于GraphQL查询/变异的响应在以下每种情况下应该是什么样子:

  • 有一个结果,没有错误
  • 出了问题,一个或多个错误
  • 这既有结果,也有一些错误
  • 我甚至不确定后者是否可能,但我似乎记得在某个地方读到过,它可能发生。例如,在多个突变的情况下,比如说两个,每个突变都是按顺序处理的。我认为,如果第一个变异没有问题,那么上面的第三个案例可能会发生,但在第二个变异执行过程中会出现错误,但我不确定

    不管怎样,答案应该是什么样的?像下面这些吗?(JSON中的示例,每个示例都与前面的案例对应)或者还有其他更惯用的方法吗?也许Relay提供了一些关于它应该是什么样子的指南?我找不到这方面的好资源

    1:

    2:

    3:


    谢谢。

    是的,你的回答样本我看很合适。下面是一个更详细的“案例3”示例

    其中一个字段中出现错误的示例查询 样本响应
    {
      "data": {
        ...
      }
    }
    
    {
      "errors": [
        {
          ...
        },
        ...
      ]
    }
    
    {
      "data": {
        ...
      },
      "errors": [
        {
          ...
        },
        ...
      ]
    }
    
    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
            }
          ]
        }
      ]
    }