JSON Service API en Liferay
Liferay proporciona Servicios Web como API JSON. Esto permite un fácil acceso a servicios utilizando HTTP no sólo desde javascript, sino también desde cualquier cliente HTTP que interprete JSON. Cada portal posee una UI mediante la cual podemos consultar y ejecutar los servicios expuestos. (sitio oficial – Instancia local)
Existen varias formas de invocar estos servicios, a continuación se muestran un par de ejemplos utilizando librerías propias de Liferay.
Ejecución Remota
En este ejemplo podemos ver como invocar al servicio de Bookmarks para obtener 5 entradas pertenecientes a un grupo especifico.
Liferay.Service(
'/bookmarksentry/get-group-entries', { p_auth: Liferay.authToken, groupId: themeDisplay.getParentGroupId(), start: 0, end: 4 }, function(result) { var exception = result.exception; if (!exception) { console.log(result); }else { alert("Error: "+exception); } }
);
Ejecución Local
En este ejemplo podemos ver como invocar al servicio de Bookmarks para obtener 5 entradas pertenecientes a un grupo especifico. Para poder utilizar estos servicios es necesario incluir el JS service.js, en este archivo se encuentran definidos todos los servicio que expone Liferay por defecto.
<script src="/html/js/liferay/service.js" language="JavaScript"> </script>
Liferay.Service.Bookmarks.BookmarksEntry.getGroupEntries(
{ groupId: themeDisplay.getParentGroupId(), start: 0, end: 4 }, function(result) { var exception = result.exception; if (!exception) { console.log(result); } else { alert("Error: "+exception); }
);