4D-jp 4D Japan Technical Support Team

強力な4D RESTサーバーをPOSTMANでテストする

2020-04-10
Intissar Elmezrouai

Postman

4Dは、あなたの4Dデータベースに保存したデータへ直接アクセスできる強力なRESTサーバーを提供しています。これによって、例えば、モダンなフロントエンド・テクノロジー(Angular、Reactなど)を使ったAPIの構築が可能です。このブログでは、4Dの堅牢なRESTサーバーを初めてご紹介します。また、APIテストツール、Postmanを使用して、作成、取得、更新、削除 (CRUD) の各操作をテストする方法を説明します。

RESTサーバーの構成

注意:もしすでにRESTサーバーと4Dデータベースの構成方法をご存知の場合は、この後の2章はスキップしてください。

4D RESTサーバーを使えるようにするには、最初に構成が必要です(シングル・クリックで起動して動作します)。「データベース設定」の「Web / RESTリソース」ページの「RESTサーバーとして公開」にチェックするだけでRESTリクエストを処理することができます。

Postman

4Dデータベースを作成して構成する

このステップは、すでにデータベースを作成してRESTサーバーを有効にしていると仮定しています。ストラクチャーに新しいテーブル [Tasks]とその2つの属性:Title (Alpha)とComplete (Boolean)を作成します。初期設定では、全てのテーブルはRESTで公開されます:

重要:テーブルとフィールド名はJSONに準拠(発音区別文字やスペースは不可)しなければなりません。

Postman

  • では、入力と出力のフォームを作成します。Tasksテーブルにいくつかのタスクを入力します。
  • 『実行メニューから「WEBサーバーを開始」(もしまだ開始していない場合)を選択し、次に「WEBサーバーをテスト」を選択します。
  • おめでとうございます!RESTリクエストだけを使って4D内のデータを読んだり、編集できるようになりました

指示する方法は簡単です。WEBブラウザーを開いて、ADDRESS/PORTの後に”/rest”を挿入します。(全ての4D REST URLリクエストは/restで始まります。) 例えば、[Task]データクラスの全てのエンティティーを得たい場合は、以下のように処理できます:

Postman

Postmanを使ってAPIをテスト

4D RESTサーバーについて驚くべきことは、CRUD(とそれ以上の)操作をAPIが提供することです…では、見てみましょう! エンティティーの作成、読み込み、更新あるいは削除にあたっては1行のコードも必要ありません。全てがセットアップされています。よく知られているように、CRUDはデータベース操作の中で最も重要なグループです。ユーザーがデータを作成し、管理するのに必要なメインの機能だからです。

この驚異的なAPIをテストするために、Postman(RESTに最適のAPIをテストするための素晴らしいツール)を使います。Postmanは、GET、POST、PUT/UPDATE、DELETEや様々な他のリクエスト・メソッドのように、HTMLメソッドを作るための洒落たユーザー・インターフェイスを提供します。

注意:Postmanの使用は単純明快ですが、もし始めるにあたってヘルプが必要であれば、このビデオを見てください。

タスクのリストを得る

Postmanをダウンロードしたら、異なるリクエストを作ります。とても明快なリクエストから始めましょう。タスクのリストを([Tasks]テーブルから)検索します。前に述べたように、[Task]データクラスの全てのエンティティーを得るためには、ADDRESS/PORTの後に/rest/NameOfTheDatabaseを挿入します。

  1. メソッドのリストからGETメソッドを選択します。
  2. URLをコピーします。
  3. 送信をクリックします。
  4. ほら、できました。

Postman

ご覧の通り、タスクのリストを検索するためには1行のコードも必要ありません

新しいタスクを作る

データクラスに新しいタスクを加えることもできます… これもコード不要です。 APIはすでに設定されています!

新しいエンティティーを作成するために、このURLは新しいポスト・リクエストを起動します: ADDRESS/PORP/rest/NameOfTheDataclass/?$method=update。それを実行するには、アプリケーションにJSONリクエストを送る必要があります。もしGETリクエストから結果をチェックすれば、新しいタスクを作成するのに必要な鍵となるアイデアが得られるでしょう。では、このロジックに従って、私たちにはタイトルと完全なフィールドだけが必要で、その他(キー、タイムスタンプ、スタンプ、ID)は4Dが対応します。

  1. メソッドをPOSTに変更します。
  2. URLを挿入します。
  3. 送信をクリックします。
  4. 新しいタスクを追加します。
  5. 成功=trueを確認します。

Postman

最初のタブ(GETメソッド)に戻り、送信をクリックしてタスクが追加されたことを確認します。4Dの出力フォームにも行き、新しいタスクが追加されているか確認します。

Postman

タスクの更新

エンティティーを更新するには、エンティティーを作成したのと同じメソッドを使います。$method=updateは1つのPOST中の1つ以上のエンティティーを更新できます。それを実行するには、オブジェクトの中の_KEYと_STAMPパラメータを修正した属性とともに渡す必要があります。

サンプルでは、ヘミングウェイの不朽の名作のひとつ『老人と海』を読みました。従いまして、タスクのcompleteステータスをtrueに変える必要があります。簡単にできます:

Postman

タスクの削除

エンティティーの削除もシンプルです。サンプルでは、ID=3 (“test”のコール)のタスクを削除します。問題ありません!deleteメソッドを呼び出して、そのIDを特定します:dataclass(ID)?$method=delete

Postman

データベースに戻り、エンティティーが削除されてことを確認します。

この次には

ご覧の通り、4D RESTサーバーはとても強力です。たった今、デモしたようなこと以上にリッチなAPIを提供します。わずかな時間でできることはもっとあります。詳細な<a href=“https://developer.4d.com/docs/en/REST/%7BdataClass%7D.html“>ドキュメント</a>を参照してください。この先のブログで、認証についてのtipを共有し、その後で、4DデータベースへwebアクセスするためにAngular 7とRESTで書かれた完全なフロントエンド・アプリケーションも説明します。


関連記事

リンク