REST サービス・プロパティの受け渡し

関連:API テスト のみ

REST サービスの作成または編集では,URL プロパティやカスタム入出力プロパティの値をサービス・レベルまたはリソース・レベルで定義することにより,この値はサービスやリソース内にあるすべてのリソースとメソッドで利用可能になります。たとえば,REST サービスのすべてのリソースとメソッドが同じ URL プレフィックスを参照している場合,URL プロパティの値を REST サービスのレベルで定義すれば,すべてのリソースとメソッドに URL プロパティ値を渡すことができます。

また,カスタム入出力プロパティの名前と値を REST サービスのすべての階層レベルで定義すると,この入出力プロパティと値を各階層に渡すことができます。カスタム入出力プロパティの作成については,"カスタム・プロパティを定義する - 任意" を参照を参照してください。

サービス・レベルで定義したプロパティの例

URL プロパティの値を階層の上位レベルで定義した後,そのサービスに含まれるリソースとメソッドの URL プロパティ値に,その他の相対プロパティ値を追加で定義できます。定義した相対 URL 値は,上位レベルから取得した URL プロパティ値と連結されて,下位レベルにあるすべての階層に渡されます。たとえば,サービス・レベルで URL プロパティ値を定義する場合,選択したリソースまたはメソッドに相対 URL パスを追加することができます。サービス・レベルで渡された URL プロパティ値に,リソースまたはメソッドのレベルで追加した相対 URL プロパティ値が連結されます。

REST サービスの上位レベルから渡される URL プロパティ値は変更できません。相対 URL 値を使用して追加することは可能です。

リソースやメソッドのレベルなど,階層の下位レベルで相対 URL プロパティ値を追加する場合には,連結後の URL が有効であることを確認する必要があります。たとえば,リソース・レベルの URL プロパティ値として http:// を定義した場合,メソッドのレベルで追加する相対 URL プロパティ値には http:// プレフィックスを指定しないでください。

 

サービス(最上位)レベルで REST サービスの URL プロパティ値として http://flights.api.com を定義します。この値は,この REST サービスのすべてのリソースとメソッドに渡されます。

また,このサービスのリソースとして Flight Reservation というリソースを作成します。相対 URL 値を /reserve と定義します。この相対 URL プロパティ値は,サービス・レベルの URL プロパティ値に連結され,リソースの URL として http://flights.api.com/reserve が生成されます。この URL プロパティ値は,リソースで作成されたすべてのメソッドに渡されます。

次に,Flight Reservation リソースのメソッドとして GetFlights を作成し,このメソッドの相対 URL プロパティ値として /getflights を定義します。その後,この値は,リソースから渡された URL と連結され,メソッドの完全な URL として http://flights.api.com/reserve/getflights が生成されます。

メソッド・レベルで定義したプロパティの例

このように定義したプロパティとカスタム入出力プロパティは,REST サービスのプロトタイプ・テンプレートとなるので,キャンバスにメソッドのアクティビティを追加すれば,URL プロパティの値やカスタム入出力プロパティの値を編集できます。

相対 URL は,テストに含まれている場合,キャンバスで REST メソッドでは表示されません。メソッドを選択したときに[プロパティ]表示枠に表示されるのは,[REST サービスの追加]ダイアログ・ボックスで表示されるメソッドの連結後の完全な URL のみです。