尝试方法并解释结果
可使用 API Explorer 测试各种方法。本主题介绍一般过程,并解释系统返回的响应。有关特定问题相关技术,请参阅各方法类型主题。
各方法/资源的试用!按钮与系统直接交互。GET 检索实际数据,POST/PUT 创建或修改实际资源,DELETE 删除实际对象。您正在系统中进行实际的配置更改,但不会立即部署更改。要使更改处于活动状态,请使用 POST /operational/deploy 资源启动部署作业。
打开方法/资源后,可在响应消息部分后找到试用!按钮。对于某些方法/资源,必须输入对象 ID 对其进行测试。在这种情况下,您首先通常需要在父资源上执行 GET。有关详细信息,请参阅查找对象 ID (objId) 和父 ID。
对于 POST/PUT,还需要在 JSON 模型中填写所需值。
点击试用!(Try It Out!) 后,API Explorer 将结果添加到按钮后的页面上。响应包括以下部分:
- Curl
-
curl 命令用于进行调用。例如,点击 GET /object/networks 资源上的试用!(Try It Out!) 返回如下所示的内容:路径中的“v”元素随每个新的 API 版本变化。
curl -X GET --header 'Accept: application/json' 'https://ftd.example.com/api/fdm/最新/object/networks'
注
这不包括授权:不记名报头,在客户端的 API 调用中需要该报头。
- 请求 URL
-
从客户端发出进行请求的 URL。例如,对于 GET /object/networks:
https://ftd.example.com/api/fdm/最新/object/networks
- 响应正文
-
系统返回至客户端的对象。如果资源可包含多个对象(如 /object/network),则会得到 GET 请求的项目列表。POST/PUT/DELETE 响应涉及单个对象。
返回的具体内容基于资源模型。例如,GET /object/networks 返回对象列表,各对象类似于以下内容(项目列表的最初指示也已显示)。请注意,links/self 值表示将用于引用此对象的 URL;对象 ID 包含在 URL 中。
{ "items": [ { "version": "900f8558-7d19-11e7-bf7b-3dcaf0c58345", "name": "AIM_SERVERS-205.188.1.132", "description": null, "subType": "HOST", "value": "205.188.1.132", "isSystemDefined": true, "id": "900fac69-7d19-11e7-bf7b-d9417b20e59e", "type": "networkobject", "links": { "self": "https://ftd.example.com/api/fdm/最新/ object/networks/900fac69-7d19-11e7-bf7b-d9417b20e59e" } },
GET 请求还包括一个分页区,有关说明请见 GET:从系统中获取数据。
- 响应代码
-
为 HTTP 调用返回的数字 HTTP 状态代码。这些是标准的 HTTP 状态代码,可以在 RFC 或 Wikipedia 中找到(如 https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)。例如,200 (确定) 表示成功的 GET/PUT/POST 调用,204 表示成功的 DELETE 调用。
- 响应头
-
这些是 HTTP 响应中的报头。例如,GET/object/networks 可能具有以下报头:
{ "date": "Thu, 10 Aug 2017 19:19:16 GMT", "content-encoding": "gzip", "x-content-type-options": "nosniff", "transfer-encoding": "chunked", "connection": "Keep-Alive", "vary": "Accept-Encoding", "x-xss-protection": "1; mode=block", "pragma": "no-cache", "server": "Apache", "x-frame-options": "SAMEORIGIN", "strict-transport-security": "max-age=31536000 ; includeSubDomains", "content-type": "application/json;charset=UTF-8", "cache-control": "no-cache, no-store, max-age=0, must-revalidate", "accept-ranges": "bytes", "keep-alive": "timeout=5, max=99", "expires": "0" }