チュートリアル:REST クライアント ライブラリを使用して REST ベースの Web サービスにアクセスする

提供: RAD Studio
移動先: 案内検索

データベースおよび LiveBinding のチュートリアル への移動

この REST BaaS(Backend as a Service)クライアント チュートリアルでは、REST クライアント ライブラリを使って REST ベースの Web サービスにアクセスする方法を説明します(REST とは Representational State Transfer の略語)。この REST ライブラリは、Delphi でサポートされているすべてのプラットフォームで使用できます。REST ライブラリ フレームワークでは、表現形式として JSON を使用します。XML は明示的にサポートされていません。

プロジェクトを作成する

新しいプロジェクトを作成します。

  • Delphi の場合は、[ファイル|新規作成|マルチデバイス アプリケーション - Delphi|空のアプリケーション] を選択します。
  • C++Builder の場合、[ファイル|新規作成|マルチデバイス アプリケーション - C++Builder|空のアプリケーション]を選択します。

REST コンポーネントを追加する

  1. TRESTClientTRESTRequestTRESTResponse の各コンポーネントをフォームにドロップします。
    ヒント: あるいは、[REST デバッガ]ツール[コンポーネントのコピー]ボタンを使用して、この 3 つすべてのコンポーネントをクリップボードにコピーし、それからフォームにペーストすることもできます。そうすれば作業の速度が上がります。
  2. [オブジェクト インスペクタ]で、TRESTClientBaseURL プロパティを「http://www.songsterr.com/a/ra/」に設定します。
  3. フォーム上の TRESTRequest コンポーネントを選択し、以下のプロパティを設定します。
  4. TRESTRequest コンポーネントを右クリックし、[実行...]を選択します。
    RESTTutorialResponseOK.png
  5. [OK]ボタンをクリックします。
メモ: この例では、Songsterr Web サービスから JSON 形式で応答を受け取る方法を説明しました。Songsterr Web サービスでは、xml 形式と plist 形式もサポートしています。詳細は http://www.songsterr.com/a/wa/api を参照してください。

[LiveBinding デザイナ]を使用する

[LiveBinding デザイナ]を開きます。接続の矢印がない次のようなダイアグラムが表示されます。

RESTTutorialLiveBindingsDesigner.png

  1. RESTResponse1.Content プロパティを右クリックします。
  2. [新規コントロールにリンク...]オプションを選択します。
  3. 表示されるリストから TMemo コントロールを選択します。
    RESTTutorialBindNewControlTMemo.png
  4. [OK]ボタンをクリックします。
  5. [オブジェクト インスペクタ]で、TMemo コンポーネントの以下のプロパティを設定します。
    • Align プロパティを Client に設定します。
    • TextSettings 下の WordWrap プロパティを True に設定します。
      TRESTRequest コンポーネントの[実行...]を既に行っていれば、TMemo に未加工の JSON 結果が既に表示されているはずです。
  6. TPanel コンポーネントをフォーム上にドロップします。
  7. TPanelAlign プロパティを Top に設定します。
  8. LiveBinding デザイナRESTClient1Params.pattern プロパティを右クリックします。
  9. [新規コントロールにリンク...]オプションを選択します。
  10. 表示されるリストから TEdit コントロールを選択し、[OK]をクリックします。
    メモ: [コントロール ラベルを追加]のチェック ボックスはデフォルトでオンになっているため、TEdit コントロール用の TLabel が作成されます。
  11. Params.pattern コントロールをフォームの一番上に移動します。
  12. TButton コンポーネントをフォームに追加し、ボタンの Text プロパティを Execute に設定します。

実行時用にアプリケーションを準備する

実行ボタンのイベント ハンドラを作成する

  1. フォーム デザイナButton1 コンポーネントを選択します。
  2. [オブジェクト インスペクタ]OnClick イベントをダブルクリックします。
  3. このイベント ハンドラに次のコードを追加します。
Delphi の場合:
procedure TForm1.Button1Click(Sender: TObject);
var
  jValue:TJSONValue;
begin
  RESTRequest1.Execute;
  jValue:=RESTResponse1.JSONValue;
  MemoContent.Text:= jValue.ToString;
end;

重要TJSONValue クラスは System.JSON ユニットで宣言されています。このプロジェクトをコンパイルする前に、ユニットの uses 句に System.JSON を追加してください。

C++Builder の場合:
void __fastcall TForm1::Button1Click(TObject *Sender) {
    TJSONValue *jValue;
    RESTRequest1->Execute();
    jValue = RESTResponse1->JSONValue;
    MemoContent->Text = jValue->ToString();
}

重要TJSONValue クラスは System.JSON ライブラリで宣言されています。このプロジェクトをコンパイルする前に、プロジェクトのヘッダー ファイルに #include <System.JSON.hpp> を追加してください。

アプリケーションを実行する

アプリケーションを実行するには:

  1. F9 キーを押すか、[実行|実行を選択します。
  2. [Param.pattern]テキスト ボックスにパターン(「Madonna」など)を入力します。
  3. [Execute]をクリックして要求を Songsterr サービスに送信します。


RESTTutorialRunTime2.png

関連項目