KnowledgeBaseArticle REST services using cURL and Java.
Get Knowledge Base Articles from Site
You can retrieve Knowledge Base articles from any site by executing the following cURL or Java command. Replace 1234 with your site’s ID.
Command:
./KnowledgeBaseArticles_GET_FromSite.sh 1234
Code:
curl \
"http://localhost:8080/o/headless-delivery/v1.0/sites/${1}/knowledge-base-articles" \
--user "test@liferay.com:learn"
Command:
java -classpath .:* -DsiteId=1234 KnowledgeBaseArticles_GET_FromSite
Code:
public static void main(String[] args) throws Exception {
KnowledgeBaseArticleResource.Builder builder =
KnowledgeBaseArticleResource.builder();
KnowledgeBaseArticleResource knowledgeBaseArticleResource =
builder.authentication(
"test@liferay.com", "learn"
).build();
Page<KnowledgeBaseArticle> page =
knowledgeBaseArticleResource.getSiteKnowledgeBaseArticlesPage(
Long.valueOf(System.getProperty("siteId")), null, null, null,
null, Pagination.of(1, 2), null);
System.out.println(page);
}
The Instance’s KnowledgeBaseArticles objects appear in JSON.
Get a specific Knowledge Base article by its ID with the following cURL or Java command.
Tip
Use KnowledgeBaseArticles_GET_FromSite.[java|sh] to get instance Knowledge Base Article IDs.
Command:
./KnowledgeBaseArticles_GET_ById.sh 1234
Code:
curl \
"http://localhost:8080/o/headless-delivery/v1.0/knowledge-base-articles/${1}" \
--user "test@liferay.com:learn"
Command:
java -classpath .:* -DknowledgeBaseArticleId=1234 KnowledgeBaseArticles_GET_ById
Code:
public static void main(String[] args) throws Exception {
KnowledgeBaseArticleResource.Builder builder =
KnowledgeBaseArticleResource.builder();
KnowledgeBaseArticleResource knowledgeBaseArticleResource =
builder.authentication(
"test@liferay.com", "learn"
).build();
System.out.println(
knowledgeBaseArticleResource.getKnowledgeBaseArticle(
Long.valueOf(System.getProperty("knowledgeBaseArticleId"))));
}
The KnowledgeBaseArticle fields appear in JSON.
Do a partial edit of an existing Knowledge Base article with the following cURL and Java commands. Replace 1234 with your Knowledge Base article’s ID. Specify the field you want to modify and its new value.
Command:
./KnowledgeBaseArticles_PATCH_ById.sh 1234
Code:
curl \
"http://localhost:8080/o/headless-delivery/v1.0/knowledge-base-articles/${1}" \
--data-raw '
{
"articleBody": "Bar"
}' \
--header "Content-Type: application/json" \
--request "PATCH" \
--user "test@liferay.com:learn"
Command:
java -classpath .:* -DknowledgeBaseArticleId=1234 KnowledgeBaseArticles_PATCH_ById
Code:
public static void main(String[] args) throws Exception {
KnowledgeBaseArticleResource.Builder builder =
KnowledgeBaseArticleResource.builder();
KnowledgeBaseArticleResource knowledgeBaseArticleResource =
builder.authentication(
"test@liferay.com", "learn"
).build();
KnowledgeBaseArticle knowledgeBaseArticle =
knowledgeBaseArticleResource.patchKnowledgeBaseArticle(
Long.valueOf(System.getProperty("knowledgeBaseArticleId")),
new KnowledgeBaseArticle() {
{
articleBody = "Bar";
}
});
System.out.println(knowledgeBaseArticle);
}
Completely overwrite an existing Knowledge Base article with the following cURL and Java commands. Replace 1234 with your Knowledge Base article’s ID.
Command:
./KnowledgeBaseArticles_PUT_ById.sh 1234
Code:
curl \
"http://localhost:8080/o/headless-delivery/v1.0/knowledge-base-articles/${1}" \
--data-raw '
{
"articleBody": "Goo",
"title": "Baker"
}' \
--header "Content-Type: application/json" \
--request "PUT" \
--user "test@liferay.com:learn"
Command:
java -classpath .:* -DknowledgeBaseArticleId=1234 KnowledgeBaseArticles_PUT_ById
Code:
public static void main(String[] args) throws Exception {
KnowledgeBaseArticleResource.Builder builder =
KnowledgeBaseArticleResource.builder();
KnowledgeBaseArticleResource knowledgeBaseArticleResource =
builder.authentication(
"test@liferay.com", "learn"
).build();
KnowledgeBaseArticle knowledgeBaseArticle =
knowledgeBaseArticleResource.putKnowledgeBaseArticle(
Long.valueOf(System.getProperty("knowledgeBaseArticleId")),
new KnowledgeBaseArticle() {
{
articleBody = "Goo";
title = "Dog";
}
});
System.out.println(knowledgeBaseArticle);
}
Delete an existing Knowledge Base article with the following cURL and Java commands. Replace 1234 with your Knowledge Base article’s ID.
Command:
./KnowledgeBaseArticles_DELETE_ById.sh 1234
Code:
curl \
"http://localhost:8080/o/headless-delivery/v1.0/knowledge-base-articles/${1}" \
--request "DELETE" \
--user "test@liferay.com:learn"
Command
java -classpath .:* -DknowledgeBaseArticleId=1234 KnowledgeBaseArticles_DELETE_ById
Code:
public static void main(String[] args) throws Exception {
KnowledgeBaseArticleResource.Builder builder =
KnowledgeBaseArticleResource.builder();
KnowledgeBaseArticleResource knowledgeBaseArticleResource =
builder.authentication(
"test@liferay.com", "learn"
).build();
knowledgeBaseArticleResource.deleteKnowledgeBaseArticle(
Long.valueOf(System.getProperty("knowledgeBaseArticleId")));
}
The cURL commands and Java classes for Knowledge Base folders works in the same way as Knowledge Base articles.
| Files | Description |
KnowledgeBaseFolders_DELETE_ById.[java\|sh] | Deletes a Knowledge Base folder by ID. |
KnowledgeBaseFolders_GET_ById.[java\|sh] | Get a specific Knowledge Base folder by ID. |
KnowledgeBaseFolders_PATCH_ById.[java\|sh] | Patch a Knowledge Base folder by ID. |
KnowledgeBaseFolders_POST_ToSite.[java\|sh] | Post a Knowledge Base folder to a site. |
KnowledgeBaseFolders_PUT_ToSite.[java\|sh] | Put a Knowledge Base folder by ID. |
KnowledgeBaseFolders_GET_FromSite.[java\|sh] | Get a list of Knowledge Base folders from a site. |
The API Explorer shows all of the KnowledgeBaseArticle and KnowledgeBaseFolder services and schemas and has an interface to try out each service.