5.
Next.js でチャットボット - 2
データモデル
データモデルとは
データモデルはデータ構造を定義し、データ管理するための概念です。データベース設計やシステム開発において、データの整合性や効率的なデータアクセスするために重要な設計です。モデルファイルを定義しておくことで、プログラムの効率化やバグを防ぎやすくなります。
TypeScriptの利用
TypeScriptには、データの形状を定義するために「インターフェース (interface)」と「型エイリアス (type)」があります。
Interface
Type
Roleファイル作成
メッセージの権限を設定する app/constants/roles.ts
ファイルを作成します。このファイルは、role
に対する表示ラベルとスタイルをまとめた設定です。
インターフェイス
Message
インターフェイス app/interfaces/Message.ts
を作成します。

インターフェイス定義
roles
をインポートし、content
, role
を定義します。
app/interface/Message.ts
- 「content」は string型
- 「role」は「user」「bot」の2種類の Role型
バックエンドAPI作成
Next.jsをバックエンドとして、POSTリクエストに対応したAPIを作成します。
仕様
項目 | エンドポイント | HTTPメソッド | JSON |
---|---|---|---|
チャット送受信 | /api/chat/ | POST | { message: Message} |
- Next.js APIサーバに、メッセージをPOSTリクエスト
- Gemini APIにメッセージをリクエスト
- Gemini APIのレスポンスデータ取得
- Next.js APIサーバがデータをレスポンス
ファイル構成
Next.js API作成
ファイル作成
ルーティングファイル app/api/chat/route.ts
を作成します。

POSTリクエスト
POSTリクエストAPIを作成します。
app/api/chat/route.ts
POSTデータの message
を非同期取得し、コンソール表示します。
app/api/chat/route.ts
レスポンス
固定のボットメッセージをレスポンスします。