Rest API to perform web content structure Import and Override
How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!
While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.
Legacy Article
You are viewing an article from our legacy "FastTrack"
publication program, made available for informational purposes. Articles
in this program were published without a requirement for independent
editing or verification and are provided"as is" without
guarantee.
Before using any information from this article, independently verify its
suitability for your situation and project.
Issue
- Does Liferay provide any Rest API that can be used to save exported JSON of structures into Liferay DB, like the option "Import and Override" in Structure tab of Web Content?
- To be more precise, imagine a simple use case like this:
- Create a site S1 and in it create a web content structure STR1.
- Export STR1 to a JSON file.
- Create another site S2 and then,
- Either go to Web Content > Structure > 3-dot menu at the top right > Import Structure.
- Or, create a new structure and then go to 3-dot next next to it > Import and Override.
- How would you go about doing either of these actions through REST API calls?
Resolution
- You can use the Data Engine headless API for this.
-
Import a new structure:
curl -X 'POST' \
'http://localhost:8080/o/data-engine/v2.0/sites/{siteId}/data-definitions/by-content-type/{contentType}' \
...
- For Web Content you need to set
journal as the contentType
- For Documents & Media you need to set
document-library as the contentType
-
Import and Override:
curl -X 'PUT' \
'http://localhost:8080/o/data-engine/v2.0/data-definitions/{structureId}' \
...
- In both cases, the elipses (...) represents the JSON text for the new structure.
- You can also use the Liferay API Explorer in the section for Data Engine > DataDefinition.
Did this article resolve your issue ?