4.5. RESTful Service Description Language (RSDL)
RESTful Service Description Language (RSDL)は、REST API の構造と要素を 1 つの XML 仕様で説明しています。以下のリクエストを使用して 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 | 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>
| 要素 | 説明 |
|---|---|
リンク | API 要求の URI。URI 属性(href)と関係タイプ属性(rel)が含まれます。 |
request | リンクに必要なリクエストプロパティーを定義します。 |
http_method | このリンクにアクセスするためのメソッドタイプ。REST API アクセス用の標準 HTTP メソッド( GET、POST、PUT、DELETE )が含まれます。 |
ヘッダー | HTTP リクエストのヘッダーを定義します。ヘッダーを定義する ヘッダー 名 と 値 が含まれる一連のヘッダー要素が含まれます。 |
body | HTTP リクエストの本文を定義します。リクエストとデータ タイプ が 必要 かどうかを定義する パラメーター 要素のセットが含まれる、リソース タイプ と parameter_set が含まれます。parameter 要素には、変更する Red Hat Virtualization Manager プロパティーを定義する name 要素と、type が collection に設定されている場合に追加の parameter_set サブセットも含まれています。 |
response | HTTP リクエストの出力を定義します。出力するリソース構造を定義する type 要素が含まれます。 |
アプリケーションで RSDL を、Red Hat Virtualization 環境を制御するためのリンクおよびパラメーター要件をすべてマッピングする方法として使用します。