4.5. RESTful 服务描述语言(RSDL)
RESTful 服务描述语言(RSDL)提供了整个 XML 规范中 REST API 中的结构和元素的说明。使用以下请求调用 RSDL:
GET /ovirt-engine/api?rsdl HTTP/1.1
Accept: application/xml
这会以以下格式生成 XML 文档:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rsdl href="/ovirt-engine/api?rsdl" rel="rsdl">
<description>...</description>
<version major="4" minor="0" build="0" revision="0"/>
<schema href="/ovirt-engine/api?schema" rel="schema">
<name>...</name>
<description>...</description>
</schema>
<links>
<link href="/ovirt-engine/api/capabilities" rel="get">
...
</link>
...
</links>
</rsdl>
| 元素 | Description |
|---|---|
description | RSDL 文档的纯文本描述。 |
version | API 版本,包括 主发行版本、次版本、构建和 修订。 |
schema | XML 模式(XSD)文件的链接。 |
links | 定义 API 中的每个 链接。 |
每个
link 元素都包含以下结构:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rsdl href="/ovirt-engine/api?rsdl" rel="rsdl">
...
<links>
<link href="/ovirt-engine/api/..." rel="...">
<request>
<http_method>...</http_method>
<headers>
<header>
<name>...</name>
<value>...</value>
</header>
...
</headers>
<body>
<type>...</type>
<parameters_set>
<parameter required="..." type="...">
<name>...</name>
</parameter>
...
</parameters_set>
</body>
</request>
<response>
<type>...</type>
</response>
</link>
...
</links>
</rsdl>
| 元素 | Description |
|---|---|
link | API 请求的 URI。包含 URI 属性(href)和关系类型属性(rel)。 |
request | 定义链接所需的请求属性。 |
http_method | 用于访问此链接的方法类型。包含用于 REST API 访问的标准 HTTP 方法: GET、POST、PUT 和 DELETE。 |
标头 | 定义 HTTP 请求的标头。包含一系列 标头 元素,它们各自包含用于定义标头的标头名称和值。 |
正文(body) | 定义 HTTP 请求的正文。包含 资源类型和 ,它包含一组带有属性的参数元素,用于定义请求是否需要以及 数据类型。参数 元素还包括一个 name 元素,用于定义 Red Hat Virtualization Manager 属性来修改以及进一步的 parameter_set 子集(如果 type 设置为 collection )。 |
response | 定义 HTTP 请求的输出。包含 type 元素,用于定义要输出的资源结构。 |
使用应用程序中的 RSDL 作为映射控制 Red Hat Virtualization 环境的所有链接和参数要求的方法。