前言
Liferay是一个开放源代码的企业级门户,它包含以下的一些主要组件:Liferay Portal、Liferay Social Office、Liferay Sync、Liferay Marketplace、Liferay Developer Studio等。其中,Liferay Portal是应用程序的核心,并提供了一个基于Web的交互平台。
在Liferay Portal中,我们可以使用一些API来进行Web服务。其中,JSON Web Service API(简写为JSONWS API)提供了一种基于JSON格式的数据访问方式。npm包liferay-jsonws就是一个用于访问JSONWS API的Node.js模块。在本文中,我们将介绍如何使用该模块。
安装
使用npm进行安装:
npm install liferay-jsonws
使用
初始化liferay-jsonws
在每个用到liferay-jsonws的地方,我们都需要先进行初始化,以指定JSONWS API的位置和默认的凭证信息。
const LiferayJsonWS = require('liferay-jsonws'); const liferayJsonWS = new LiferayJsonWS({ location: 'http://localhost:8080/api/jsonws', username: 'test', password: 'test' });
以上代码中,location
参数指定了JSONWS API的位置,username
和password
参数指定了默认的登录凭证。如果不指定这些参数,liferay-jsonws会默认采用Liferay Portal自身提供的默认的JSONWS API位置和凭证信息。
调用API
liferay-jsonws封装了Liferay Portal提供的大部分JSONWS API,我们可以通过以下方式来调用它们。
liferayJsonWS.api({path: '/example/hello-world/'}) .then(result => { console.log(result); }) .catch(err => { console.log(err); });
以上代码中,path
参数指定了要调用的API的路径。在Liferay Portal中,每个API都有一个对应的路径,例如/example/hello-world/
就是一个简单的API示例。我们可以通过调用liferayJsonWS.api()
方法来发起一个API请求,当请求成功时,then
函数会被调用并传递返回结果;当请求失败时,catch
函数会被调用并传递错误信息。
调用自定义API
如果我们需要调用Liferay Portal中没有提供的API,我们可以使用liferayJsonWS.invoke()
方法来调用自定义API。以调用一个添加用户的API为例:
-- -------------------- ---- ------- ---------------------- ----- ----------------- ----------- - ---------- ------ --------------- ----- ---------- ----------- ---------- ----------- ------------- ---------------- ---------- ------- --------- ------ - -- ------------ -- - -------------------- -- ---------- -- - ----------------- ---
以上代码中,我们通过指定path
参数来调用/user/add-user
API,并通过parameters
参数来传递API需要的参数。在这个例子中,我们向Liferay Portal添加了一个名为Test User的用户。当请求成功时,then
函数会被调用并传递返回结果;当请求失败时,catch
函数会被调用并传递错误信息。
示例代码
下面是一个完整的示例,它调用了Liferay Portal中的一个简单API并打印出了返回结果。
-- -------------------- ---- ------- ----- ------------- - -------------------------- ----- ------------- - --- --------------- --------- ----------------------------------- --------- ------- --------- ------ --- ------------------------ ------------------------- ------------ -- - -------------------- -- ---------- -- - ----------------- ---
结论
在本文中,我们介绍了npm包liferay-jsonws的使用方法,并给出了详细的示例。通过学习本文,我们可以快速上手使用该模块,并在开发相关项目时,可以使用liferay-jsonws来访问Liferay Portal的JSONWS API。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055cb181e8991b448da16a