LoopBack 4は、典型的なAPIおよび/またはマイクロサービスアプリケーションに対するさまざまな役割を果たすために、いくつかのキーとなる構成要素を定義しています。
-
アプリケーション: モジュールのすべてのコンポーネント、コントローラー、サーバー、およびバインディングをセットアップするための、中心的なクラスです。 ApplicationクラスはContextを拡張し、関連するサーバーを起動および停止するための制御を提供します。
-
サーバー: REST(http、https)、gRPC(http2)、graphQL(http、https)などのインバウンドトランスポート/プロトコルの実行パートです。 通常、特定のエンドポイント(プロトコル/ホスト/ポート)でListenし、着信要求を処理してから、適切な応答を返します。
-
コントローラー: アプリケーションのREST APIによって定義された操作を実行するクラスです。 アプリケーションのビジネスロジックを実行し、HTTP / REST APIとドメイン/データベースモデル間のブリッジとして機能します。 なお、コントローラは、処理された入力およびバックエンドサービス/データベースの抽象化でのみ動作します。
-
インターセプター: クラスまたはオブジェクトでの、静的またはインスタンスメソッドの呼び出しをインターセプトする関数です。
-
ルート: API仕様と操作の間のマッピングです。 HTTPリクエストが与えられたときに、どの操作を
invoke()
するかをLoopBackに指示します。 - モデル: データソースジャグラーに関するオブジェクトの定義です。 この
@loopback/repository
モジュールは、メタデータをTypeScript / JavaScriptクラスに追加して、DataSource Jugglerのレガシー実行で使用するための専用のデコレーターを提供します。 さらに、@loopback/repository-json-schema
モジュールは、デコレータのメタデータを使用して、一致するJSONスキーマを構築します。 -
データソース: 外部システムのデータを表すコネクタインスタンスの、名前付きの設定です。
-
リポジトリ: データソース内の、データのコレクションを表すサービスです。
-
リレーション: 2つのモデル間のマッピング。モデル間の実際のリンクを記述し、設定に基づいてCRUD APIを公開します。
- デコレーター: クラス宣言とそのメンバーに、メタデータを注釈または変更するために使用されるパターンです。