不存在的对象的GraphQL查询结果

安德烈斯

我有一个GraphQL查询,该查询调用REST服务以获取返回对象。该查询包含一个Id参数,然后将其传递给服务。但是,如果不存在具有该ID的对象,则REST服务可以使用http状态404找不到响应。这似乎是正确的回应。

您如何在GraphQL中建模“未找到”响应?有没有办法通知GQL呼叫者不存在的东西?

更新
我正在考虑的一些选项:

  • 传回null
  • 更改GrqlhQL查询以返回对象列表,并返回未找到任何内容的空列表
  • 返回带有错误代码的某种错误对象

但目前尚不清楚在GQL API设计中是否有建议的做法。

白日梦鸭

您可以将其视为错误并进行相应处理。

我建议您检查GraphQL规范,有关错误处理的段落。
我希望它包含您想要的内容。
基本上,您应该返回所有可能的内容,并在“错误”字段中通知客户有关潜在问题的信息。

文档中的示例:
请求:

{
  hero(episode: $episode) {
    name
    heroFriends: friends {
      id
      name
    }
  }
}

响应:

{
  "errors": [
    {
      "message": "Name for character with ID 1002 could not be fetched.",
      "locations": [ { "line": 6, "column": 7 } ],
      "path": [ "hero", "heroFriends", 1, "name" ]
    }
  ],
  "data": {
    "hero": {
      "name": "R2-D2",
      "heroFriends": [
        {
          "id": "1000",
          "name": "Luke Skywalker"
        },
        {
          "id": "1002",
          "name": null
        },
        {
          "id": "1003",
          "name": "Leia Organa"
        }
      ]
    }
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Xcode自动完成显示对象上不存在的结果

来自分类Dev

Xcode自动完成显示对象上不存在的结果

来自分类Dev

从对象集中删除查询集中不存在的项目

来自分类Dev

对象不存在来自SQL查询的备注

来自分类Dev

不存在SQL查询

来自分类Dev

SQL不存在查询

来自分类Dev

查询日期或不存在?

来自分类Dev

不存在和不存在的不同结果

来自分类Dev

外部对象不存在

来自分类Dev

如何按列中可能存在或不存在的数据划分查询结果?

来自分类Dev

mysql存在或不存在选择查询

来自分类Dev

“...匹配查询不存在。” 错误,但对象显然确实存在

来自分类Dev

SQL查询计数结果为零事件记录不存在

来自分类Dev

Django匹配查询不存在

来自分类Dev

PostgreSQL查询-列不存在

来自分类Dev

不存在时的SQL查询

来自分类Dev

HQL:如何使“不存在”查询?

来自分类Dev

不存在的MVC ViewModels查询

来自分类Dev

Django-不存在匹配的查询

来自分类Dev

SQL查询错误,其中不存在

来自分类Dev

与不存在和子查询混淆

来自分类Dev

查询不存在密钥的Postgres JSONB

来自分类Dev

Django测试:不存在匹配的查询

来自分类Dev

不存在记录的SQL查询

来自分类Dev

UserVote匹配查询不存在

来自分类Dev

帖子匹配查询不存在

来自分类Dev

UserCheckout匹配查询不存在

来自分类Dev

CartItem匹配查询不存在

来自分类Dev

Django测试匹配查询不存在