Marre de l’API REST « JSON WS » de Liferay?
Les équipes Architecture et Liferay de Sedona lancent un nouveau projet Open-Source sur GitHub: Liferay GraphQL.
Celui-ci a pour objectif de fournir une API REST plus moderne et flexible que celle proposée par défaut dans Liferay.
Grâce à GraphQL (https://graphql.org/), il est possible de « requêter » à l’aide d’une seule requête des grappes complexes de données.
Dans Liferay, les entités sont imbriquées les unes dans les autres. On a, par exemple, une Organization qui peut référencer une autre Organization comme parent. De plus, une Organization a un lien vers une entité Country, Region et User. Ce dernier référence à son tour, une entité Contact qui référence des entités ListType.
Lorsque l’on veut récupérer toutes les infos, on se retrouve souvent à faire du multi-requêtage. Dans les cas non optimisés, on effectue autant de requêtes qu’il y a d’entités. Sinon on essaie d’utiliser le JSON WS Invoker de Liferay pour essayer de réduire le nombre d’appels au serveur. Avec GraphQL, il est possible d’envoyer une seule requête au serveur contenant toutes la grappe souhaitée.
De plus, les JSON WS de Liferay renvoient toujours les objets complets. Grace à GraphQL, il est possible de récupérer seulement les champs nécessaires et donc de réduire la taille de la réponse HTTP.
N’hésitez pas à tester ce module Liferay et à nous donner votre avis.
Sedona continue ainsi d’enrichir la communauté et de poursuivre sa relation forte avec l’éditeur américain pour cette année 2019.