サンプル API アプリケーションの構築
Liferay DXP 2023.Q4+/Portal GA102+ ベータ機能
モック API アプリケーションの例を確認するには、以下の手順に従ってください。
サンプルオブジェクトとエントリの追加
新しいLiferay DXPインスタンスを起動し、以下を実行します。
docker run -it -m 8g -p 8080:8080 liferay/dxp:2025.q1.6-lts
メールアドレス test@liferay.com とパスワード testを使用して、 http://localhost:8080 で Liferay にサインインします。 プロンプトが表示されたら、パスワードを learnに変更します。
次に、以下の手順に従います。
-
コマンドラインで次のスクリプトを実行して、
Studentオブジェクトを作成します。student=$(curl \ -H "Content-Type: application/json" \ -X POST \ "http://localhost:8080/o/object-admin/v1.0/object-definitions" \ -d "{\"label\": {\"en_US\": \"Student\"}, \"name\": \"Student\", \"panelCategoryKey\": \"control_panel.object\", \"pluralLabel\": {\"en_US\": \"Students\"}, \"scope\": \"company\"}" \ -u "test@liferay.com:learn" | jq -r ".id") curl \ -H "Content-Type: application/json" \ -X POST \ "http://localhost:8080/o/object-admin/v1.0/object-definitions/${student}/object-fields" \ -d "{\"businessType\": \"Text\", \"label\": {\"en_US\": \"First Name\"}, \"name\": \"firstName\", \"required\": false}" \ -u "test@liferay.com:learn" curl \ -H "Content-Type: application/json" \ -X POST \ "http://localhost:8080/o/object-admin/v1.0/object-definitions/${student}/object-fields" \ -d "{\"businessType\": \"Text\", \"label\": {\"en_US\": \"Last Name\"}, \"name\": \"lastName\", \"required\": false}" \ -u "test@liferay.com:learn" curl \ -H "Content-Type: application/json" \ -X POST \ "http://localhost:8080/o/object-admin/v1.0/object-definitions/${student}/publish" \ -u "test@liferay.com:learn" -
グローバル メニュー (
) → コントロール パネル → オブジェクトに移動します。 新しい Studentオブジェクトが作成されたことを確認します。 -
コマンドラインで次のスクリプトを実行して、
Courseオブジェクトを作成します。course=$(curl \ -H "Content-Type: application/json" \ -X POST \ "http://localhost:8080/o/object-admin/v1.0/object-definitions" \ -d "{\"label\": {\"en_US\": \"Course\"}, \"name\": \"Course\", \"panelCategoryKey\": \"control_panel.object\", \"pluralLabel\": {\"en_US\": \"Courses\"}, \"scope\": \"company\"}" \ -u "test@liferay.com:learn" | jq -r ".id") curl \ -H "Content-Type: application/json" \ -X POST \ "http://localhost:8080/o/object-admin/v1.0/object-definitions/${course}/object-fields" \ -d "{\"businessType\": \"Text\", \"label\": {\"en_US\": \"Course Name\"}, \"name\": \"courseName\", \"required\": false}" \ -u "test@liferay.com:learn" -
グローバル メニュー (
) → コントロール パネル → オブジェクトに移動します。 先ほど作成した コースオブジェクトをクリックします。 -
リレーションシップ タブをクリックします。 追加 (
) をクリックします。 -
新しい関係を定義するには、次の値を入力します。
項目 値 ラベル 入学 名前 登録 種類 1 対多 次の 1 レコード: コース 多くの記録 学生 保存をクリックします。
-
詳細 タブをクリックします。 公開をクリックします。
サンプルコースと学生の追加
-
コマンドラインで次のスクリプトを実行して、2 つのコースと 2 人の学生を作成します。
math101=$(curl \ -H "Content-Type: application/json" \ -X POST \ "http://localhost:8080/o/c/courses" \ -d "{\"courseName\": \"Math 101\"}" \ -u "test@liferay.com:learn" | jq -r ".id") curl \ -H "Content-Type: application/json" \ -X POST \ "http://localhost:8080/o/c/students" \ -d "{\"r_enrollment_c_courseId\":${math101}, \"firstName\": \"Mary\", \"lastName\": \"Liferay\"}" \ -u "test@liferay.com:learn" history101=$(curl \ -H "Content-Type: application/json" \ -X POST \ "http://localhost:8080/o/c/courses" \ -d "{\"courseName\": \"History 101\"}" \ -u "test@liferay.com:learn" | jq -r ".id") curl \ -H "Content-Type: application/json" \ -X POST \ "http://localhost:8080/o/c/students" \ -d "{\"r_enrollment_c_courseId\":${history101}, \"firstName\": \"John\", \"lastName\": \"Liferay\"}" \ -u "test@liferay.com:learn"
APIアプリケーションの作成
-
グローバル メニュー (
) → コントロール パネル → API ビルダーに移動します。 -
追加 (
) をクリックします。 新しい API アプリケーションのタイトル、URL、説明を入力します。
項目 値 タイトル 登録 URL 登録 説明 学生登録を取得するための API。 作成をクリックします。
-
スキーマ タブをクリックします。 追加 (
) をクリックします。 -
新しいスキーマの名前、説明、オブジェクトを入力します。
項目 値 名前 コース登録 説明 コースとそれを受講する学生のリスト。 オブジェクト コース 作成をクリックします。
-
新しく作成されたスキーマの プロパティ タブをクリックします。 左側のメニューで コース名 をクリックして、
コース名フィールドを追加します。
-
左側のメニューで、 [関連オブジェクトの表示]をクリックします。 属性を展開するには、 学生 をクリックします。 左側のメニューで 名 と 姓 をクリックして、
名と姓フィールドを追加します。 右上隅の 保存 をクリックします。 -
次に、 エンドポイント タブをクリックします。 追加 (
) をクリックします。 -
新しい API エンドポイントのスコープ、パス、説明を入力します。
項目 値 範囲 会社名 パス コース 説明 コースとその学生のリストを取得するためのエンドポイント。 作成をクリックします。
-
新しく作成された API エンドポイントの 構成 タブをクリックします。 「レスポンス本文スキーマ」で、前の手順で作成した コース登録 スキーマを選択します。 ページの右上にある 公開 をクリックします。
-
API エクスプローラー (例: http://localhost:8080/o/api?endpoint=http://localhost:8080/o/c/registration/openapi.json) に移動して、新しい API アプリケーションをテストします。
GET courses エンドポイントをクリックし、 実行をクリックします。

カスタム API アプリケーションは、コースとそのコースを受講している学生のリストを返します。