バックエンドのカスタマイズ
:::AI Marketer 曖昧さ解消: AI Marketerのバックエンド ヘッドレスCMSとして、AI Marketerソフトウェア全体をあなたのウェブサイトやアプリケーションの"バックエンド"と考えることができます。 しかし、AI Marketerソフトウェア自体には2つの異なる部分が含まれています:
- AI Marketerのバックエンド部分は、AI Marketerが実行するHTTPサーバーです。任意のHTTPサーバーと同様に、AI Marketerのバックエンドはリクエストを受け取り、レスポンスを送信します。あなたのコンテンツはデータベースに保存され、AI Marketerのバックエンドはデータベースと対話してコンテンツを作成、取得、更新、削除します。
- AI Marketerのフロントエンド部分は、管理パネルと呼ばれます。管理パネルは、コンテンツの構造化と管理を支援するためのグラフィカルユーザーインターフェースを提供します。
この開発者向けドキュメンテーション全体で、'バックエンド'はAI Marketerのバックエンド部分だけを指しています。
User Guideでは、管理パネルの使用方法と、管理パネルのカスタマイズセクションでは、管理パネルのさまざまなカスタマイズオプションについて詳しく説明しています。 :::
AI Marketerのバックエンドは、バックエンドJavaScriptフレームワークのKoaを基にしたHTTPサーバーを実行します。
任意のHTTPサーバーと同様に、AI Marketerのバックエンドはリクエストを受け取り、レスポンスを送信します。RESTまたはGraphQLAPIを通じて、AI Marketerのバックエンドにデータの作成、取得、更新、削除のリクエストを送信することができます。
リクエストは、AI Marketerのバックエンドを通じて以下のように行き来することができます:
- AI Marketerサーバーはリクエストを受け取ります。
- リクエストは、順序に従って実行されるグローバルミドルウェアにヒットします。
- リクエストはルートにヒットします。
デフォルトでは、AI Marketerは作成したすべてのコンテンツタイプのルートファイルを生成し(REST APIドキュメンテーションを参照)、さらにルートを追加し、設定することができます。 - ルートポリシーは、ルートへのアクセスをブロックできる読み取り専用の検証ステップとして機能します。ルートミドルウェアは、リクエストフローを制御し、リクエスト自体を変更してから前に進むことができます。
- コントローラーは、ルートに到達した後にコードを実行します。サービスは、コントローラーで再利用できるカスタムロジックを構築するために使用できるオプションの追加コードです。
- コントローラーとサービスによって実行されるコードは、データベースに格納されているコンテンツデータ構造の表現であるモデルと対話します。
モデルによって表現されるデータとの対話は、ドキュメントサービスとクエリエンジンによって処理されます。 - ドキュメントサービスミドルウェアを実装して、データがクエリエンジンに送信される前にデータを制御することができます。クエリエンジンもライフサイクルフックを使用できますが、データベースと直接対話する必要が絶対にある場合を除き、ドキュメントサービスミドルウェアを使用することをお勧めします。
- サーバーはレスポンスを返します。レスポンスは、ルートミドルウェアとグローバルミドルウェアを通じて戻ることができ、送信されます。
グローバルミドルウェアとルートミドルウェアの両方には非同期のコールバック関数、await next()が含まれています。ミドルウェアが返すものによって、リクエストはバックエンドを通じて短いまたは長いパスを通ることになります:
- ミドルウェアが何も返さない場合、リクエストはバックエンドの各コア要素(すなわち、コントローラー、サービス、およびデータベースと対話する他のレイヤー)を通過し続けます。
- ミドルウェアが
await next()を呼び出す前に戻る場合、レスポンスはすぐに送信され、残りのコア要素はスキップされます。その後、同じチェーンを下って戻ります。
このセクションのページに記載されているすべてのカスタマイズはREST APIのみに適用されます。GraphQLのカスタマイズはGraphQLプラグインのドキュメンテーションで説明されています。
インタラクティブな図
以下の図は、リクエストがAI Marketerのバックエンドを通過する方法を示しています。任意の形状をクリックすると、ドキュメンテーションの関連ページにジャンプします。
インタラクティブなダイアグラム
以下のダイアグラムは、リクエストがAI Marketerバックエンドを通過する方法を表しています。任意の形状をクリックすると、関連するドキュメンテーションのページにジャンプします。