REST サービスにアクセスするための変数の宣言

REST サービスへのアクセス方法に関する詳細を指定するには、リクエスターで変数を宣言します。この変数は、インターフェース・パーツに基づいています。

例えば、インターフェース・パーツ WeatherForecast に基づく宣言の例を以下に示します。
myService WeatherForcast {@RESTBinding {baseURI="http://www.ibm.com/gateway"}};
この宣言では、2 つのプロパティーのいずれかを指定できます。これらのそれぞれのプロパティーは、以下の詳細を指定するための方法を提供します。

2 つのプロパティーは、@RESTBinding@BindService です。 @RESTBinding プロパティーを使用すると、ベース URI とセッション Cookie ID をコードで直接指定できます。このオプションは単純ですが、柔軟性はありません。@BindService プロパティーを使用すると、デプロイメント記述子でそれらの詳細情報を指定できるため、構成時に変更が可能です。

この 2 つのプロパティーは相互に排他的です。
@RESTBinding
コード内で、そのコードのベース URI とセッション Cookie ID、またはその両方を指定する場合は、このプロパティーを使用します。@RESTBinding には、以下のフィールドが含まれています。
baseURI
サービスにアクセスするために使用される URI で最初の修飾子を識別するストリング。baseURI のデフォルト値は空ストリングです。
sessionCookieID
セッション Cookie の名前。デフォルト値は JSESSIONID で、これは常に、アプリケーションを Apache Tomcat で実行するときのセッション ID です。
sessionCookieID フィールドの設定は、次の場合のみ有効となります。
  • サービスが、IBM i 呼び出し先プログラムまたはサービス・プログラムを EGL REST-RPC サービスとして使用可能にする EGL 外部型である場合。
  • サービス・ロジックはステートフル で、これは、リクエスターとサービスがマルチステップの会話に参加できることを意味します。

このフィールドの値は、defaultSessionCookieID ビルド記述子オプションの設定をオーバーライドします。

@BindService
ベース URI を識別するデプロイメント記述子項目、Cookie セッション ID、またはその両方を使用する場合は、このプロパティーを使用します。プロパティーには、以下の 1 つのフィールドがあります。
bindingKey
2 つの詳細を含むデプロイメント記述子項目を識別します。
bindingKey フィールドを指定せずに @BindService プロパティーを指定することができます。 この場合、プロパティーはインターフェース・パーツと同じ名前のデプロイメント記述子項目を示します。以下に、この使用法の例を示します。ここでは、WeatherForecast という名前のデプロイメント記述子項目が参照されています。
MyService WeatherForecast {@BindService{}}

EGL デプロイメント記述子のセットアップについて詳しくは、『デプロイメント記述子への REST バインディングの追加』を参照してください。


フィードバック