外部参照コードの使用
Liferay DXP/Portal 7.4+
LiferayのヘッドレスAPIエンドポイントの多くは外部参照コード(ERC)をサポートしています。 ERCフィールドは、幅広いシナリオで役に立つ。 例えば、コンテンツをLiferayに移行する際、ERCフィールドに他のシステムからのユニークな参照IDを残すことができます。 また、ERCを使用して、サイト・コンテンツに人間が読めるキーを持たせることもできる。 例えば、Liferayは作成された各ブログ記事にユニークなIDを割り当てますが、より簡単に参照できるように人間が読めるキーを割り当てることもできます。
各ERCは一意でなければならず、同じERCを同じスコープ内の別のエンティ ティで使用することはできない。 例えば、同じサイトのブログ記事と文書が同じERCを持つことはできない。 試してみると、 重複エントリ
エラーが表示されます。
ブログ記事 ERCの例
ERCでブログ記事を作成し、アクセスする。
-
あなたの サイトのID をメモしてください。
-
以下のcurlコマンドを実行して、新しいブログ記事を作成する。
{siteId}
をあなたのサイトのIDに置き換えてください。curl \ -H "Content-Type: application/json" \ -X POST \ "http://localhost:8080/o/headless-delivery/v1.0/sites/{siteId}/blog-postings" \ -d "{\"articleBody\": \"Foo\", \"externalReferenceCode\": \"blog_post_able\", \"headline\": \"Able\"}" \ -u "test@liferay.com:learn"
出力は新しいブログ記事が作成されたことを示している:
... "alternativeHeadline" : "", "articleBody" : "Foo", "creator" : { "additionalName" : "", "contentType" : "UserAccount", "familyName" : "Test", "givenName" : "Test", "id" : 20123, "name" : "Test Test" }, "customFields" : [ ], "dateCreated" : "2023-09-21T21:21:48Z", "dateModified" : "2023-09-21T21:21:48Z", "datePublished" : "2023-09-21T21:21:00Z", "description" : "Foo", "encodingFormat" : "text/html", "externalReferenceCode" : "blog_post_able", "friendlyUrlPath" : "able", "headline" : "Able", "id" : 42617, "keywords" : [ ], "numberOfComments" : 0, "relatedContents" : [ ], "renderedContents" : [ ], "siteId" : 20119, "taxonomyCategoryBriefs" : [ ] ...
-
このブログ記事はIDまたはERCで参照できるようになった。 例えば、ブログ記事をIDで取得する:
curl \ "http://localhost:8080/o/headless-delivery/v1.0/blog-postings/42617" \ -u "test@liferay.com:learn"
または、そのERCでブログ記事を取得する:
curl \ "http://localhost:8080/o/headless-delivery/v1.0/sites/20119/blog-postings/by-external-reference-code/blog_post_able" \ -u "test@liferay.com:learn"
なお、ERCによるブログ記事用のこのGETメソッドには、サイトID(例:
20119
)とERC(例:blog_post_able
)が必要です。
API Explorer で、外部参照コードをサポートするさまざまな API エンドポイントを確認してください。