Skip to main content

 

 

 

 
Language:
 
Service Studioバージョン :
 
 
OutSystems

1つまたは複数のREST APIメソッドを利用する

開始する前に、REST APIのドキュメントで必要な情報をすべて収集してください。

Service Studioでは、以下を行うことができます。

  • Swaggerの仕様ファイルに記載されている複数のREST APIメソッド(すべてのメソッドまたは選択したメソッドのみ)の利用。これらを利用するにはURLを入力するか、ローカルファイルシステムから仕様ファイルを選択します。

  • 単一のREST APIメソッドの利用。

REST APIの複数のメソッドを利用する{ #all-methods }

Swaggerの仕様に準拠しているREST APIの複数のメソッド(すべてのAPIメソッドまたは選択したメソッドのみ)を利用することができます。OutSystemsが公開しているREST APIは、この仕様に準拠しています。

Swaggerの仕様は、URLを指定するかローカルファイルシステムから仕様ファイルを選択してインポートすることができます。

以下の手順を実行します。

  1. Logic]タブで、Integrationsフォルダを開きます。

  2. REST要素を右クリックし、[Consume REST API...]を選択します。**

    Service StudioでRESTを右クリックしたときのコンテキストメニュー

  3. 表示されたダイアログで、[Add Multiple Methods]を選択します。

    Consume REST APIダイアログ - 単一または複数のメソッドの追加

  4. OpenAPI 3.0仕様ファイルをインポートするとき、複数のサーバーエンドポイントが仕様に含まれている場合は、目的のエンドポイントを選択して[Finish]をクリックします。

    いずれかの利用可能なサーバーエンドポイントを選択するダイアログ

    注記: REST APIをインポートした後にサーバーエンドポイントを変更することはできません。

  5. インポートするREST APIメソッド(デフォルトではすべてのメソッド)を選択し、[Finish]をクリックします。

    インポートするREST APIメソッドを選択するダイアログ

REST APIをインポートすると、Service Studioでは以下が実行されます。

  • REST APIの作成
  • 対応する入出力パラメータを持つREST APIメソッドの作成
  • REST APIの名前が付いた新しいツリー要素にある対応する入出力パラメータを保持するストラクチャの作成
  • RESTデータ型とOutSystemsのデータ型のマッピング

REST APIの利用後にService Studioで作成された要素

REST APIの利用後にService Studioで作成されたストラクチャ

REST APIの単一のメソッドを利用する

OutSystemsでは、リクエストやレスポンスのコンテンツ例に基づいてREST APIの単一のメソッドを利用することができます。POSTPUTなどの操作メソッドでは、URLやボディで入力パラメータの指定が必要な場合があります。

以下の手順を実行します。

  1. Logic]タブで、Integrationsフォルダを開きます。

  2. REST要素を右クリックし、[Consume REST API...]を選択します。

    Service StudioでRESTを右クリックしたときのコンテキストメニュー

  3. 表示されたダイアログで、[Add Single Method]を選択します。

    Consume REST APIダイアログ - 単一または複数のメソッドの追加

  4. メソッドのURLに関する情報を入力します。中カッコで囲んだパラメータを、メソッドの入力パラメータのURLに含めることができます。

    例:
    GET https://api.example.com/Portal/rest/Contacts/GetAll
    GET https://api.example.com/Portal/rest/Contacts/Get?Id={Id}
    POST https://api.example.com/Portal/rest/Contacts/Create

    URL内の中括弧で囲んで定義された各入力パラメータがメソッドの入力パラメータになります。

    注記: URLクエリ文字列内の入力パラメータは、特定の形式に従う必要があります。詳細については、「URLクエリ文字列内でパラメータを使用する」をご覧ください。

  5. 利用しているREST APIが特定のヘッダーを必要とする場合やHTTPベーシック認証を使用する場合は、[Headers / Auth]タブを開き、必要な情報を入力します。

    Consume REST API Method - Headers/Authタブ

  6. リクエストとレスポンスに関する情報を入力します。APIに対するテストを実行してテスト結果を使用すると非常に簡単です。

    Body]タブの[Request]フィールドと[Response]フィールドに、JSONストラクチャまたはプレーンテキストの例を直接追加することもできます。[Test]タブを開きます。メソッドのURLにパラメータがある場合は、テストを実行するためにパラメータ値を挿入する必要があります。

    Consume REST API Method - Testタブ

    POSTPUTなどの操作メソッドについては、Body ContentのRequestに対応するリクエストストラクチャを入力してください。

    Consume REST API Method - ボディが入力されたTestタブ

  7. Test]をクリックします。テストに成功すると、[Test]タブの[Response]領域にメソッドのレスポンスが表示されます。

    Response]領域の[Copy to Response body]をクリックし、その情報を[Body]タブの[Response]に入力します。必要なフィールドだけを残します。

    POSTPUTなどの)操作メソッドについては、[Request]領域で[COPY TO RESPONSE BODY]を押してRequestと同様の手順を実行します。

    Consume REST API Method - テスト使用後のCOPY TO RESPONSE BODYリンク

    通常、この方法で一般的なフィールドを取得します。使用可能なフィールドすべての詳細については、APIのドキュメントをご覧ください。

  8. Body]タブで[Request]と[Response]の情報が正しいかどうか確認し、[OK]をクリックします。

    Consume REST API Method - Bodyタブ

REST APIメソッドをインポートすると、Service Studioで以下が実行されます。

  • ツリーのREST要素へのREST API要素の作成
  • 対応する入出力パラメータを持つREST APIメソッドの作成
  • REST APIの名前が付いた新しいツリー要素にある対応する入出力パラメータを保持するストラクチャの作成
  • RESTデータ型とOutSystemsのデータ型のマッピング

REST APIの利用後にService Studioで作成された要素

REST APIの利用後にService Studioで作成されたストラクチャ

アプリケーションでREST APIメソッドを使用する

OutSystemsは、Service Studioで作成したアクションと同じセマンティクスを使用して、REST APIによって公開されているメソッドをOutSystemsのアクションに変換します。

これで、アプリケーションで新しく作成されたメソッドを、他のサーバーアクションと同様に使用できるようになりました。

  1. REST APIメソッドを使用するアクションフローに移動します。

    インポートされたREST APIメソッドを使用するPreparationフロー

  2. Logic]タブで、IntegrationsフォルダとREST要素を開きます。

  3. REST API要素を展開し、REST APIメソッドをアクションフローにドラッグします。

    REST APIメソッド呼び出しを含むPreparationフロー

  4. 他のアクションの場合と同様に、メソッドの出力パラメータを使用します。

    REST APIメソッドの出力をSource Record Listとして使用する例

URLクエリ文字列内でパラメータを使用する{ #using-params-query-string }

OutSystemsでは、入力パラメータを、key={value}valueは入力パラメータ)のような名前と値のペアとしてURLクエリ文字列内で使用することができます。URLクエリ文字列は、URLの?(疑問符)記号より後ろの部分です。

たとえば、以下のURLを使用できます。

  • http://apps.example.com/Orders/{id}/?show_details={ShowDetails}

    URLの一部として、クエリ文字列の外側でidを使用しています。
    使用可能な形式(key={value})に従って、ShowDetailsをクエリ文字列のパラメータの値として使用しています。

  • http://apps.example.com/Orders/?key1={value1}&key2={value2}

    使用可能な形式に従って、value1value2を入力パラメータとして使用しています。
    &(アンパサンド)記号を使用して、クエリ文字列内のパラメータを区切ることができます。

クエリ文字列内で異なる形式に従った入力パラメータを使用したり、クエリ文字列全体を定義する方法として入力パラメータを使用したりすることは、OutSystemsではサポートされていません

たとえば、以下のURLは現在サポートされていないため、使用できません。

  • http://apps.example.com/Orders/?{key}={value}

    入力パラメータ(この場合はkey)を使用して、クエリ文字列のパラメータ名を定義することはできません。

  • http://apps.example.com/Orders/?key={value1},{value2}

    複数の入力パラメータ(この場合はvalue1value2)を使用して、クエリ文字列のパラメータに複合値を定義することはできません。

  • http://apps.example.com/Orders/?name={"last":{value1},"first":{value2}}

    JSONストラクチャをクエリ文字列のパラメータの値として使用することはできません。

  • http://apps.example.com/Orders/?{QueryString}

    入力パラメータを使用して、実行時にのみ定義される一般的なクエリ文字列を定義することはできません。

  • Was this article helpful?