BPD REST APIでサポートされている HTTP メソッド
HTTPは、アーティファクトに対して実行可能な操作(作成、読み取り、更新、削除など)を提供します。
以下の HTTP メソッドがサポートされています。
HTTP メソッド | 説明 |
---|---|
POST | 新規リソースを作成します。 |
GET | リソースを取得します。 |
PUT | 既存のリソースを更新します。 |
DELETE | リソースを削除します。 |
以下の例は、curl を使用して JSON 本体で POST 要求を送信する方法を示しています。
curl --location 'https://localhost:9443/ops/system/login' \
--user 'user:password' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"refresh_groups": true,
"requested_lifetime": 7200
}'
この操作によってリソースの状態が変更されることはないため、GET メソッドは安全なメソッドです。
重要: 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 メソッドを使用するときは、以下のセキュリティーの側面を考慮してください。
- 一部の Firewall は、セキュリティー上の考慮事項により、HTTP PUT または DELETE トラフィックが Firewall を通過することを許可しません。 この制限事項に対応するため、以下の方法のいずれかでこれらの要求を送信できます。
- X-Method-Override または X-HTTP-Method-Override HTTP ヘッダー・フィールドを使用して、POST 要求により PUT または DELETE 要求をトンネリングする。
- 要求が BPD 関連リソースに対するものである場合は、x-method-overrideまたはx-http-method-override URI パラメーターを使用できます。 例:
POST /rest/bpm/htm/v1/task?...&x-method-override=PUT
- BPD 関連リソース用のいくつかの HTTP メソッドを使用して、JavaScript 式を評価することができます。 セキュリティー上の考慮事項により、JavaScript のサポートはデフォルトで使用可能ではありません。 JavaScript サポートを有効にするには、プロセス・サーバーの100Custom.xmlファイルで、関連付けられたプロパティーを以下のように設定します。
<properties> <common> <enable-javascript-execution>true</enable-javascript-execution> </common> </properties>
REST API 要求の URI の長さの考慮事項
ブラウザーの制限事項や、要求 URI の照会パラメーターの数と長さなどが原因で、場合によっては、サポートされる URI の長さを REST API 要求 URI の長さが超過することがあります。回避策として、
application/x-www-form-urlencoded
コンテンツ・タイプを使用する POST 要求を介して要求をトンネリングすることができます。 回避策を活用するには、REST API 要求を以下の方法で構成します。- HTTP 要求で POST メソッドを使用します。
- X-HTTP-Method-Override HTTP ヘッダーを、元の要求の目的のメソッドに設定します。 例えば、元の要求が PUT 要求になることを目的としていた場合、このヘッダーの値を PUT に設定します。
- Content-Type HTTP ヘッダーの値を
application/x-www-form-urlencoded
に設定します。 - 元の要求 URI 照会ストリングの要求パラメーターを HTTP 要求の本文にすべて追加します。
例えば、タスク・インスタンスを終了するために、以下の REST API を呼び出していくつかの出力変数を設定する必要がありますが、要求 URI が長すぎます。
PUT http://host1.company.com:9080/rest/bpm/wle/v1/task/3?action=finish¶ms={"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¶ms={"orderNumber":"5","customerName":{"firstName":"John","lastName":"Doe"}}