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

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

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

重要

API Builder は現在、 ベータ機能フラグ (LPS-178642) の背後にあります。 APIエンドポイントは現在、エンティティのコレクションの取得と作成をサポートしています。

以下の手順に従って、模擬APIアプリケーションの例をご覧ください。

サンプルオブジェクトとエントリの追加

Liferay DXP の新しいインスタンスを起動するには、以下を実行します。

docker run -it -m 8g -p 8080:8080 liferay/dxp:2026.q1.9-lts

http://localhost:8080 に、メールアドレス test@liferay.com とパスワード test を使用して 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\"、 \"ラベル\": {\"en_US\": \"名\"}、 \"名前\": \"名\"、 \"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\", \"ラベル\": {\"en_US\": \"姓\"}, \"名前\": \"姓\", \"必須\": 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\": \"コース\"}, \"名前\": \"コース\", \"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\"、 \"ラベル\": {\"en_US\": \"コース名\"}、 \"名前\": \"コース名\"、 \"必須\": false}" \
    	  -u "test@liferay.com:learn"
    
  4. グローバルメニュー (Global Menu) → コントロールパネル → オブジェクト に移動します。 先ほど作成された コース オブジェクトをクリックします。

  5. 関係 タブをクリックします。 をクリックして (Add iconを追加)します。

  6. 新しい関係を定義するには、以下の値を入力してください。

    分野価値
    ラベル登録
    名前登録
    タイプ一対多
    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 エンドポイントの 設定 タブをクリックします。 レスポンスボディスキーマで、前の手順で作成した Course Registrations スキーマを選択します。 ページ右上の 公開 をクリックします。

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

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

    コース取得エンドポイントを実行します。

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