HTTPリクエスト
HTTPリクエストの構成要素のうち、HTTPヘッダー、HTTPメソッド、URLについて説明する。
HTTPヘッダー
以下のHTTPヘッダーを指定可能。
- Content-Typeヘッダー
HTTPリクエストのコンテントタイプを指定する。
- Acceptヘッダー
HTTPレスポンスのコンテントタイプを指定する。
- X-Auth-Tokenヘッダー
KeystoneのTokenを指定する。
HTTPメソッド
APIの目的によって、以下のようにHTTPメソッドを使い分ける。
- POST リソース作成系API
- GET リソース情報取得系API
- PUT リソース操作系API
- DELETE リソース削除系API
URL
URLの形式は以下のとおり。
<protocol>://<host>:<port>/<path> <params>
- <protocol>
- 転送プロトコル(httpsを指定)
- <host>
- 提供基盤マネージャのホスト名 or IPアドレス
- <port>
- ポート番号 (デフォルトは23461)
- <path>
- APIのパス。以下のいずれかの形式で指定する。
/<リソース種別>/
リソース作成や情報取得時の形式(例:/l_servers/)
/<リソース種別>>/<リソースID>
特定のリソースの情報取得、属性変更、削除時の形式(例:/l_servers/100)
/<リソース種別>/<リソースID>/<操作名>
特定のリソースに固有の操作を行う場合の形式(例:/l_servers/100/start)
- <params>
- APIの引数。
HTTPメソッドがGET、DELETEの場合
引数はクエリに指定する。<path>の最後に?を付け、その後ろに引数を続けて指定。
引数は<label>=<value>の形式(※)で指定する。
HTTPメソッドがPOST/PUTの場合
引数はボディに格納する。HTTPヘッダーのContent-Typeの値により、引数の指定形式が異なる。
Content-Typeがapplication/x-www-form-urlencodedの場合
引数は<label>=<value>の形式(※)で指定する。
Content-Typeがapplication/xmlの場合
XML形式で引数を指定する。
省略可能な要素を省略する場合は、XMLのタグを省略すること。値のみ省略する形式は指定不可。
※<label>=<value>の指定形式は以下のとおり
<label>=<value>&<label>=<value>,…
<label> 引数名
<value> 値
省略可能な引数を省略する場合は、<label>、<value>の両方を省略すること。<value>のみ省略する形式(<label>=’’など)は指定不可。