IBM BPM REST API でサポートされる HTTP メソッド

HTTP メソッドにより、IBM® BPM の成果物で、作成、読み取り、更新、および削除などの操作を行うことができます。

以下の HTTP メソッドがサポートされています。
表 1. HTTP メソッド
HTTP メソッド 説明
POST 新規リソースを作成します。
GET リソースを取得します。
PUT 既存のリソースを更新します。
DELETE リソースを削除します。

この操作によってリソースの状態が変更されることはないため、GET メソッドは安全なメソッドです。

重要: IBM BPM REST API は、協定世界時 (UTC) 形式で時間帯を報告します。
アプリケーションに日付または時刻 (あるいはその両方) を別の時間帯で表示させたい場合は、java.text.DateFormat のインスタンスを取得して、希望する TimeZone を設定し、format を呼び出すと、表示したい Date オブジェクトを渡すことができます。 以下のコード・スニペットは、アプリケーションが実行されているデフォルトの時間帯を使用します。
// Assuming that "dateFromREST" is a java.util.Date object
DateFormat df = DateFormat.getDateTimeInstance();
TimeZone tz = TimeZone.getDefault();
df.setTimeZone(tz);
String formattedDate = df.format(dateFromREST);
// formattedDate has the date you want to show to the user.

セキュリティー上の考慮事項

HTTP メソッドを使用するときは、以下のセキュリティーの側面を考慮してください。

REST API 要求の URI の長さの考慮事項

ブラウザーの制限事項や、要求 URI の照会パラメーターの数と長さなどが原因で、場合によっては、サポートされる URI の長さを REST API 要求 URI の長さが超過することがあります。
回避策として、application/x-www-form-urlencoded コンテンツ・タイプを使用する POST 要求によって要求をトンネリングすることができます。回避策を活用するには、REST API 要求を以下の方法で構成します。
  1. HTTP 要求で POST メソッドを使用します。
  2. X-HTTP-Method-Override HTTP ヘッダーを、元の要求の目的のメソッドに設定します。例えば、元の要求が PUT 要求になることを目的としていた場合、このヘッダーの値を PUT に設定します。
  3. Content-Type HTTP ヘッダーの値を application/x-www-form-urlencoded に設定します。
  4. 元の要求 URI 照会ストリングの要求パラメーターを HTTP 要求の本文にすべて追加します。
例えば、タスク・インスタンスを終了するために、以下の REST API を呼び出していくつかの出力変数を設定する必要がありますが、要求 URI が長すぎます。
PUT http://host1.company.com:9080/rest/bpm/wle/v1/task/3?action=finish&params={"orderNumber":"5","customerName":{"firstName":"John","lastName":"Doe"}}
Headers:
  Accept application/json
以下の HTTP 要求は、application/x-www-form-urlencoded コンテンツ・タイプを使用して、同じ API を呼び出す方法を示しています。
POST http://host1.company.com:9080/rest/bpm/wle/v1/task/3
Headers
  Accept application/json
  Content-Type: application/x-www-form-urlencoded
  X-Method-Override:  PUT
Request Body:
  action=finish&params={"orderNumber":"5","customerName":{"firstName":"John","lastName":"Doe"}}