2.9 リクエストおよびレスポンスのフォーマット
POSTメソッドでリソースを作成、追加したり 、PUTメソッドでリソースを変更、編集したりする場合、JSON形式でリソースの属性を指定します。GETメソッドでリソースの情報を取得する場合、レスポンスはJSON形式で返ります。
サポートする文字コードはUTF-8です。
リクエストの形式
-
string型の属性に空文字を指定した場合は、その属性の値は空になります。
-
string型以外の属性に空文字を指定した場合は、その属性は指定していないものと見なされます。
-
属性の値には、次の文字が使用できます。
A-Z a-z 0-9 , - . : @ _
各APIの説明にも使用できる文字が記載されている場合があります。その場合は、各APIの規則に従ってください。
- 重要
-
- コンマ、コロン、単価記号を含む文字列を指定した場合、オブジェクトIDを生成するときにこれらの記号をエンコードする必要があります。これらの記号は使わないよう運用することをお勧めします。これらの記号をエンコードしないままオブジェクトIDを生成した場合、APIを発行する際のURLが不正となりエラーとなる場合があります。
- 値の先頭にハイフンを指定することはできません。
- URL にバックスラッシュまたはスラッシュは指定しないでください。
- IPアドレスを指定する場合、IPv4射影アドレスは使用できません。
レスポンスの形式
- APIの処理が成功した場合、レスポンスはJSON形式で返ります。
- 処理が失敗した場合、エラーの内容によってはJSON形式ではなくHTML形式でレスポンスが返る場合があります。
プログラム中でHTTPステータスコードを基にエラー処理を行う場合には、レスポンスヘッダのContent-Typeの値をチェックしてください。
- ヒント
-
リクエストボディの形式に誤りがあった場合のエラーメッセージの見方について、次の例を使用して説明します。
リクエストボディ:{ "parameters": { "status": blk } }
エラーメッセージ:{ "errorSource": "/ConfigurationManager/v1/objects/storages/800000012345/ldevs/5/actions/change-status/invoke", message": "リクエストボディの形式、または指定した内容が不正です。詳細 = Unexpected character ('b' (code 98)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: java.io.ByteArrayInputStream@10f607b; line: 3, column: 16]", " "solution": "リクエストボディの形式、または指定した内容を見直してください。", "messageId": "KART40046-E" }
メッセージの詳細のat以降に、エラーの対象となった場所が出力されます。この例では、line: 3, column: 16にエラーがあることを示しています。
リクエストボディの3行目、16文字目を確認すると、本来はstring型で指定するstatus属性が、正しく指定されていないことが分かります。