搜索

2.2. 了解 JSON 响应格式

download PDF

对 API 的调用会以 JSON 格式返回结果。API 调用返回单个选项响应或响应集合的结果。

单个对象的 JSON 响应格式

您可以使用单对象 JSON 响应来处理单个对象。对单个对象的 API 请求需要对象的唯一标识符 :id

这是 ID 为 23 的单对象请求的单对象请求的格式示例:

请求示例:

$ curl --request GET --insecure --user sat_username:sat_password \
https://satellite.example.com/api/domains/23 | python -m json.tool

响应示例:

{
    "id": 23,
    "name": "qa.lab.example.com",
    "fullname": "QA",
    "dns_id": 10,
    "created_at": "2013-08-13T09:02:31Z",
    "updated_at": "2013-08-13T09:02:31Z"
}

集合的 JSON 响应格式

集合是主机和域等对象列表。集合 JSON 响应的格式由 metadata 字段和 results 部分组成。

这是 Satellite 域列表集合请求的格式示例:

请求示例:

$ curl --request GET --insecure --user sat_username:sat_password \
https://satellite.example.com/api/domains | python -m json.tool

响应示例:

{
    "total": 3,
    "subtotal": 3,
    "page": 1,
    "per_page": 20,
    "search": null,
    "sort": {
        "by": null,
        "order": null
    },
    "results": [
        {
            "id": 23,
            "name": "qa.lab.example.com",
            "fullname": "QA",
            "dns_id": 10,
            "created_at": "2013-08-13T09:02:31Z",
            "updated_at": "2013-08-13T09:02:31Z"
        },
        {
            "id": 25,
            "name": "sat.lab.example.com",
            "fullname": "SATLAB",
            "dns_id": 8,
            "created_at": "2013-08-13T08:32:48Z",
            "updated_at": "2013-08-14T07:04:03Z"
        },
        {
            "id": 32,
            "name": "hr.lab.example.com",
            "fullname": "HR",
            "dns_id": 8,
            "created_at": "2013-08-16T08:32:48Z",
            "updated_at": "2013-08-16T07:04:03Z"
        }
    ]
}

响应元数据字段

API 响应使用以下 metadata 字段:

  • total - 没有搜索参数的对象总数。
  • Subtotal - 使用给定搜索参数返回的对象数量。如果没有搜索,则 subtotal 等于 total。
  • 页面 - 页面编号。
  • per_page - 每个页面返回的最大对象数。
  • limit - 在集合响应中返回的指定数量的对象。
  • offset - 返回集合前跳过的对象数量。
  • search - 基于 scoped_scoped 语法的搜索字符串。
  • sort

    • by - 根据 API 对集合进行排序的字段指定。
    • order - 排序顺序,ASC 代表升序或 DESC 用于降序。
  • results - 对象的集合。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.