5.3. Node.js のリレーショナルデータベースバックエンドの例
以下の例は、実稼働環境で実行することは意図されていません。
制限: Minishift または CDK でこのサンプルアプリケーションを実行します。手動でのワークフローを使用して、この例を OpenShift Online Pro および OpenShift Container Platform にデプロイすることもできます。この例では、現在 OpenShift Online ドキュメンテーションでは使用できません。
実験レベルの例: Foundational。
リレーショナルデータベースバックエンドの例
Relational Database バックエンドの例は、REST API Level 0 アプリケーションで拡張し、単純な HTTP API を使用して PostgreSQL データベースで 作成、読み取り、更新、削除 (CRUD)操作を実行する基本的な例を提供します。CRUD 操作は永続ストレージの基本機能で、HTTP API がデータベースを処理する際に広く使用されている機能です。
この例では、HTTP アプリケーションの OpenShift でデータベースを検索し、接続する機能も例示します。各ランタイムは、指定のケースで最適な接続ソリューションを実装する方法を示します。ランタイムは、JDBC、JPA、または ORM API を直接アクセスするなど、オプションを選択できます。
サンプルアプリケーションは HTTP API を公開し、HTTP で CRUD 操作を実行してデータを操作できるエンドポイントを提供します。CRUD 操作は HTTP Verbs
にマップされます。API は JSON 形式でリクエストを受信し、ユーザーに応答を返します。ユーザーは、例で提供されるユーザーインターフェースを使用してアプリケーションを使用できます。具体的には、以下の例で以下を可能にするアプリケーションを提供します。
-
ブラウザーでアプリケーション Web インターフェースに移動します。これにより、
my_data データベースのデータで CRUD 操作を実行できる単純な Web サイトが提供されます
。 -
api/fruits
エンドポイントで HTTPGET
要求を実行します。 - データベースにすべての fruits 一覧が含まれる JSON 配列としてフォーマットされた応答を受け取ります。
-
有効なアイテム ID を引数として渡す間に、
api/fruits/*
エンドポイントで HTTPGET
リクエストを実行します。 - 指定の ID の fruit の名前が含まれる JSON 形式で応答を受け取ります。指定された ID と一致する項目がない場合、呼び出しは HTTP エラー 404 になります。
-
有効な
名前
値を渡すapi/fruits
エンドポイントで HTTPPOST
要求を実行し、データベースに新規エントリーを作成します。 -
有効な ID および名前を引数として渡す
api/fruits/*
エンドポイントで HTTPPUT
要求を実行します。これにより、要求で指定した名前に一致するように、指定の ID を持つ項目の名前が更新されます。 -
api/fruits/*
エンドポイントで HTTPDELETE
要求を実行し、有効な ID を引数として渡します。これにより、データベースから指定の ID のアイテムが削除され、レスポンスとして HTTP コード204
(No Content)を返します。無効な ID を渡すと、呼び出しは HTTP エラー404
となります。
この例では、完全な成熟した RESTful モデル(レベル 3)は表示されませんが、推奨される HTTP API プラクティスに従って、互換性のある HTTP 動詞およびステータスを使用します。
5.3.1. リレーショナルデータベースバックエンド設計のトレードオフ リンクのコピーリンクがクリップボードにコピーされました!
pros | cons |
---|---|
|
|