シンプルなカスタマイズ
REST APIを利用する場合は、ロジックを追加して、リクエストで送信された情報またはレスポンスで受信した情報をカスタマイズできます。これには以下のコールバックを使用します。
- OnBeforeRequest
- URL、リクエストテキスト、ヘッダーなど、元のリクエストの情報を変更するために使用します。
- OnAfterResponse
- ステータスコードやレスポンステキストなど、元のレスポンスの情報を変更するために使用します。
これらのコールバックでは、元のリクエストまたはレスポンスからの情報にアクセスし、操作して、変更した値をカスタマイズされたリクエストまたはレスポンスに割り当てることができます。
.NETコードを使用してリクエストやレスポンスをカスタマイズする必要がある高度な連携シナリオがある場合は、「高度なカスタマイズ」をご覧ください。
OutSystems Forgeには、Box ConnectorやJIRA Connectorrなど、REST連携を使用してサードパーティサービスへのインターフェイスを提供するコンポーネントがあります。ここではRESTのリクエストとレスポンスのカスタマイズ方法の詳細を確認することができます。
このシンプルなカスタマイズ方法では、HTTPヘッダーを追加することや値を変更することはできますが、既存のヘッダーを削除することはできません。HTTPヘッダーを削除する場合は、OutSystems REST Extensibility APIを使用する必要があります。詳細については、「高度なカスタマイズ」をご覧ください。
リクエストをカスタマイズする
送信前にリクエストをカスタマイズするには、以下の手順を実行します。
-
REST APIのOn Before Requestプロパティを
New OnBeforeRequest
アクションに設定します。REST APIで「OnBeforeRequest」アクションを利用できるようになります。
-
新しく作成したアクションをダブルクリックして編集します。
-
独自のロジックを追加してリクエストをカスタマイズします。
ユースケースの例: トークンベースの認証用のヘッダーを追加する
トークンベースのHTTP認証を使用し、コンシューマがHTTPヘッダーに認証トークンを含める必要があるREST APIについて考えます。このREST APIをOutSystemsアプリケーションにインポートした後、「OnBeforeRequest」コールバックを使用して、トークンを含む新しいヘッダーを追加します。
この実装例を作成するため、コールバックロジックフローに以下のステップを追加しました。
-
OnBeforeRequestコールバックアクションに「HTTPHeader」データ型のローカル変数を追加します。
-
前の手順で作成したローカル変数を使用して、新しいHTTPヘッダー(名前および値)を定義します。
例:
名前 ="Authorization"
値 ="Bearer " + AccessTokenVar
-
「ListAppend」アクションを使用して、このヘッダーをリクエストヘッダーのリストに追加します。 現在のリクエストヘッダーは「Request.Headers」アトリビュート内にあります。
-
Assign要素を使用して、「CustomizedRequest」出力パラメータを変更した「Request」に設定します。
レスポンスをカスタマイズする
到着後にレスポンスをカスタマイズするには、以下の手順を実行します。
-
REST APIのOn After Responseプロパティを
OnAfterResponse
アクションに設定します。REST APIで「OnAfterResponse」アクションを利用できるようになります。
-
新しく作成したアクションをダブルクリックして編集します。
-
独自のロジックを追加してレスポンスをカスタマイズします。