gpt4 book ai didi

java - 当第三方客户端调用我的网络服务时调用 Controller

转载 作者:行者123 更新时间:2023-12-01 11:06:08 24 4
gpt4 key购买 nike

我在我身边公开了网络服务,当有人点击像

这样的 URL 时,我可以调用它
curl http://localhost:8080/api/jsonws/XXXXX-Portlets.foo/verify-service \

-u test@liferay.com:测试\ -d 操作=''

这里 verifyService(String action) 是我在类里面的方法,现在当有人使用curl访问此服务时,我只是以curl为例。您也可以像下面这样调用此服务,

http://localhost:8080/api/jsonws/XXXXX-Portlets.foo/verify-service/action/{valueOfparameter}

现在这个服务被第三方客户端击中,我想要实现的是,当有人调用这个 Web 服务时,我想用该参数更新我的 jsp 或想要调用我的 Controller 。我正在使用 MVC 模式,因此我必须从 Web 服务类的方法 (verifyService) 调用我的 Controller 类。

最佳答案

如果“Controller”在您的情况下意味着“Portlet”(Liferay 上下文表明这一点),我会说您的架构有问题。将需要调用的代码移至服务中,调用它就会很自然。让 portlet 和服务使用可重用代码调用相同的服务。

将 portlet 世界视为应用程序的 UI。您不会从业务(或服务)层调用 UI 层代码 - 您会调用其 UI,特别是在可能存在大量并发用户的 Web 服务器上。

为了回答您对本文的第一条评论,我不确定您所说的“CMS 端点”是什么意思。 Liferay 的 API 可用,由于历史原因,CMS 接口(interface)的名称以“Journal”开头,因此您实际上可以通过委托(delegate) JournalArticleService 等从您自己的服务创建或阅读文章。这使您可以访问内容方面,还有许多不同的 API 用于更改/创建页面、向页面添加内容等 - 无需通过 portlet。 Liferay 的所有功能都可以通过 API 获得。您需要多少,以及哪一个可能无法在单个 stackoverflow 答案中回答 - 检查 https://dev.liferay.com有关访问 Liferay 的 API 的一些章节。另外,一个很好的起点是 this blog article (series)

关于java - 当第三方客户端调用我的网络服务时调用 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32930856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com