API Builder
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

サンプル API アプリケーションの構築

Liferay DXP 2023.Q4+/Portal GA102+ ベータ機能

重要

API ビルダー は現在、 ベータ機能フラグ (LPS-178642) でサポートされています。 API エンドポイントは現在、エンティティのコレクションの取得と作成をサポートしています。

モック 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に変更します。

次に、以下の手順に従います。

  1. コマンドラインで次のスクリプトを実行して、 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"
    
  2. グローバル メニュー (Global Menu) → コントロール パネルオブジェクトに移動します。 新しい Student オブジェクトが作成されたことを確認します。

  3. コマンドラインで次のスクリプトを実行して、 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"
    
  4. グローバル メニュー (Global Menu) → コントロール パネルオブジェクトに移動します。 先ほど作成した コース オブジェクトをクリックします。

  5. リレーションシップ タブをクリックします。 追加 (Add icon) をクリックします。

  6. 新しい関係を定義するには、次の値を入力します。

    項目
    ラベル入学
    名前登録
    種類1 対多
    次の 1 レコード:コース
    多くの記録学生

    保存をクリックします。

  7. 詳細 タブをクリックします。 公開をクリックします。

サンプルコースと学生の追加

  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アプリケーションの作成

  1. グローバル メニュー (Global Menu) → コントロール パネルAPI ビルダーに移動します。

  2. 追加 (Add icon) をクリックします。 新しい API アプリケーションのタイトル、URL、説明を入力します。

    新しいAPIアプリケーションを作成する

    項目
    タイトル登録
    URL登録
    説明学生登録を取得するための API。

    作成をクリックします。

  3. スキーマ タブをクリックします。 追加 (Add icon) をクリックします。

  4. 新しいスキーマの名前、説明、オブジェクトを入力します。

    項目
    名前コース登録
    説明コースとそれを受講する学生のリスト。
    オブジェクトコース

    作成をクリックします。

  5. 新しく作成されたスキーマの プロパティ タブをクリックします。 左側のメニューで コース名 をクリックして、 コース名 フィールドを追加します。

    コース名フィールドをスキーマに追加します。

  6. 左側のメニューで、 [関連オブジェクトの表示]をクリックします。 属性を展開するには、 学生 をクリックします。 左側のメニューで をクリックして、 フィールドを追加します。 右上隅の 保存 をクリックします。

  7. 次に、 エンドポイント タブをクリックします。 追加 (Add icon) をクリックします。

  8. 新しい API エンドポイントのスコープ、パス、説明を入力します。

    項目
    範囲会社名
    パスコース
    説明コースとその学生のリストを取得するためのエンドポイント。

    作成をクリックします。

  9. 新しく作成された API エンドポイントの 構成 タブをクリックします。 「レスポンス本文スキーマ」で、前の手順で作成した コース登録 スキーマを選択します。 ページの右上にある 公開 をクリックします。

  10. API エクスプローラー (例: http://localhost:8080/o/api?endpoint=http://localhost:8080/o/c/registration/openapi.json) に移動して、新しい API アプリケーションをテストします。

    GET courses エンドポイントをクリックし、 実行をクリックします。

    Get courses エンドポイントを実行します。

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