チュートリアル: プロキシー REST API 定義の作成

このチュートリアルでは、既存のサービスへのプロキシーとして機能する REST API 定義を定義して実装する方法について説明します。

このチュートリアルについて

このチュートリアルでは、以下のレッスンを行います。
  1. REST API 定義の作成
  2. REST API のテスト

開始前に

:Sandboxカタログは、 DataPower® API GatewayDataPower Gateway (v5 compatible) 、またはその両方を使用するように設定する必要があります。 詳細については、 カタログの作成と構成を参照してください。

REST API 定義の作成

架空の銀行の支店の詳細情報を返すREST APIを作成し、定義することができます。 BankA 以下の手順に従ってください。
  1. API Manager にログインします。
  2. ホーム・ページの左側のパネルで、「 開発」 アイコンをクリックするか、下図のように「 APIと製品の開発」 タイルをクリックする。

    APIマネージャーホーム

  3. 開発 」画面で、 「追加 」>「 API 」をクリックします。
  4. 画面で OpenAPI 2.0 画面で OpenAPI 2.0 タブを選択します。
    注: デフォルトでは OpenAPI 2.0 タブが選択されています。
  5. Create] セクションで、[ From target service ]ラジオボタンを選択します。
  6. 次へ をクリックします。
  7. Create API from target service(ターゲットサービスからAPIを作成 )]画面の[ Info(情報) ]セクションで、以下の値を入力してターゲットサービスからREST APIを作成します。
    1. タイトルフィールドに「 Branches 」と入力します。
      注:名前」 フィールドには、 「タイトル」 フィールドに入力した値が自動的に入力されます。 この場合、 「名前」 フィールドには branches が自動入力される。
    2. バージョンフィールド1.0.0 のままにしておいてください。

      「基本パス」フィールドには「/branches」が自動的に入力されます。

    3. 対象サービス URL フィールドに https://sample-api.us-east-a.apiconnect.automation.ibm.com/bank/branches
    4. 次へ をクリックします。
  8. セキュア」 セクションで
    1. 「Client ID」 および「 CORS 」のチェックボックスがまだ選択されていない場合は、それらを選択してください。
    2. 次へ をクリックします。
  9. サマリー・ セクションの下にある、
    1. 生成された OpenAPI 2.0 定義と 適用されたセキュリティに緑色のチェックマークがついていることを確認する。

      緑色の目盛りは、APIの作成が成功したことを示す。

    2. 「API の編集」をクリックして、API の構成を続行します。
  10. 新しい画面で、まだ選択されていなければ、 Design タブを選択します。
  11. デザイン・ビュー 画面の左パネルで、 Definitions に隣接する + アイコンをクリックします。
  12. スキーマの追加ダイアログボックスで
    1. スキーマ名(キー )フィールドに address と入力します。
    2. Type ドロップダウンリストから、 object を選択する。
    3. 追加 をクリックします。

      スキーマの追加] ダイアログ・ボックスが閉じました。 デザインビュー 画面の右パネルには、 アドレスセクションが表示されます。

    4. アドレス・ セクションの 「説明」 フィールドに、「 The format of the address object 」と入力する。
    5. 右上の「 保存 」をクリックする。

    新しいオブジェクト " address "のスキーマが " Definitions " セクションに表示されました。

  13. 新しいオブジェクトのプロパティを作成するには、 アドレス
    1. 定義」 セクションで 「住所 」を選択する。

      住所欄は右のパネルに表示される。

    2. アドレスセクションで、 Addをクリックする。

      Add new property ダイアログボックスが表示されます。

  14. プロパティを設定するには、 新規プロパティの追加ダイアログボックスで以下の値を入力します。
    1. Name フィールドに street1 と入力する。
    2. Type 」ドロップダウンリストから、「 string 」を選択する。
    3. 説明フィールドに、 The first line of the address を追加する。
    4. 保存 をクリックします。

      新しいスキーマプロパティが作成され、「 定義 」>「 アドレス 」>「 プロパティ」 に表示されます。

    5. プロパティの設定を完了するには、次のオプションアイコン (3つの点)をクリックします。 street1 をクリックし、 Details を選択します。

      View details for street1ダイアログボックスが表示されます。

    6. View details for street1ダイアログボックスで、以下の手順を実行します。
      1. Documentation タブをクリックします。
      2. 値の例」 フィールドに、 4660 La Jolla Village Drive と入力する。
      3. 保存 をクリックします。
  15. 他の新しいスキーマ・プロパティを作成するには、ステップ14を繰り返し、表1に示す値を入力する。
    表 1. アドレスのプロパティ
    スキーマ名 (キー) タイプ 説明 サンプルの値
    street2 string The second line of the address Suite 300
    city string The city of the address San Diego
    state string The state of the address CA
    zip_code string The zip code of the address 92122
    注: 開発者はスキーマ定義をコンシューマー・カタログで見つけることができる。 これらのスキーマ定義には、開発者がレスポンスに期待するデータタイプに関する情報が含まれている。
  16. 2つ目の定義スキーマを作成するには、ステップ11からステップ12を繰り返す。

    例えば、 branch という新しい定義スキーマを作成します。

  17. branch のプロパティを設定するには、ステップ13からステップ14を繰り返し、表2に示す値を入力する。
    注: 作成したスキーマ定義の Example値を追加してアクセスするには、 Saveをクリックしてプロセスを完了する必要があります。
    表 2. ブランチのプロパティ
    スキーマ名 (キー) タイプ 説明 サンプルの値
    address address The address of the branch
    type string The type of branch atm
    id string The ID of the branch 9d72ece0-7e7b-11e5-9038-55f9f9c08c06

    Address プロパティの場合、 type セクションはAPI内で作成した定義を参照し、 example セクションは空白であることに注意してください。 このプロセスを踏めば、複雑なデータ構造を作ることができる。

    ブランチ定義

  18. 新しいパスを追加するには、 デザイン・ビュー 画面の左パネルで、 パスに隣接する アイコンをクリックします。
  19. スキーマの追加ダイアログ・ボックスで、以下の手順を実行する。
    1. Path フィールドに /details と入力する。
    2. 追加 をクリックします。

    「/details」という新規パスが使用可能なパスのリストに表示されます。

  20. [パス ] > [/詳細] で、 [操作] の横にある 「+」 アイコンをクリックします
  21. スキーマの追加ダイアログ・ボックスで、以下の手順を実行する。
    1. 動詞のドロップダウンリストから、 getを選択する。
    2. 追加 をクリックします。

    GET セクションはデザイン・ビュー 画面の右パネルに表示される。

  22. デザインビュー 画面の右パネルにある[ 保存 ]をクリックします。
  23. パスの GET 操作を編集するには、 /detailsをクリックします。
  24. パス内の GET 操作を編集するには、 デザインビュー画面の左側のパネルで、 [パス] > [操作] の下にある [GET] をクリックします。
  25. 右パネルの GET セクションで、 Responses セクションまでスクロールダウンする。
  26. 応答を編集するには、以下の手順を実行する。
    1. 200に隣接するオプションアイコン (3つの点)をクリックし、 編集を選択します。

      デザイン画面の右パネルに 200というセクションが表示される。

    2. 200」 セクションで、以下のステップを実行する。
      1. 名前(キー) フィールドに、 200 と入力する。
      2. 説明フィールドには、 200 OK と入力する。
      3. 保存 をクリックします。

APIはオンラインで利用可能になりましたので、テストすることができます。

REST API のテスト

注: クロスオリジンリソース共有( CORS )の制限により、 macOS Catalinaプラットフォーム上のChromeまたはSafariブラウザでは、アセンブリテストツールを使用できません。
始めに

REST API をテストする前に、ゲートウェイ・サービスを構成する。

REST API をテストするには、以下のステップを実行します。
  1. Developページで、APIに隣接する Menu アイコン(3つの点)をクリックし、 Edit APIをクリックします。
  2. [テスト] タブ をクリックします。
  3. Target Configurationをクリックします。

    環境設定ダイアログボックスが表示されます。

  4. 環境設定ダイアログボックスで、以下のタスクを実行する。
    1. 自動公開オプションをオンに設定する。
    2. 目標製品レート制限を設定するには、以下のタスクを実行します。
      1. 「編集」をクリックします。
      2. Choose a Rate Limit ダイアログボックスで、 Custom ラジオボタンを選択します。
      3. 通話回数」 テキストボックスに「 5 」と入力する。
      4. Per ドロップダウンリストから、" hour " を選択する。
      5. 「レート制限を選択」 をクリックします。
    3. 環境設定ダイアログボックスで、 環境設定の保存をクリックします。
  5. ページ上部の「 開発 」をクリックする。
  6. Developページで、編集したいAPIの隣にある Menu アイコン(3つの点)をクリックし、 Edit APIをクリックします。
  7. [テスト] タブ をクリックします。
  8. 「テスト」ページのバナーで、APIが 「オンライン」 に設定されていることを確認してください。 ターゲット構成
  9. APIコールを実行するには、 Request セクションで Sendをクリックする。

    これはAPIをテストする。 レスポンスには、定義したステータス・コード(200)と、APIが取得した銀行支店のデータが表示されます。

    応答本体
  10. 定義されたレート制限を超えるように、 [送信] を少なくとも 5 回クリックします。 これで、レート制限を超過したことを示すステータスコード 429「リクエストが多すぎます」が返されます。応答本体

このチュートリアルで実行したこと

このチュートリアルでは、以下のアクティビティーを実行しました。
  • REST API の定義を作成しました。
  • REST API をテストしました。