【问题标题】:Is possible to make a REST Call to webscript from own Java Backed Webscript?是否可以从自己的 Java 支持的 Webscript 对 webscript 进行 REST 调用?
【发布时间】:2014-04-13 07:29:43
【问题描述】:

我正在做一个 Java 支持的 Webscript 以放入 Alfresco 并通过 REST 调用它。此 Webscript 必须执行一组 3 项操作(查找路径、创建文件夹和上传文档)。

我读到了这篇文章并发现了类似的例子来做这个操作抛出本地 Alfresco API,使用 Repository 或 ServiceRegistry 类的 getFileFolderService、getContentService 等方法。全部在 Java 中,没有 javascript。

但我宁愿在我的 Webscript 中使用 REST 调用而不是 Alfresco API。我认为如果已经存在 Webscripts 来执行这些操作,那么调用它们比使用 Alfresco API 方法尝试执行它更容易。如果 API 在未来版本中发生变化,REST 调用将保持不变。但我是新来的,我不知道我是不是错了。

总结:在我支持的webscript中,依次做这3个操作,哪个更好,为什么?使用原生 API 方法还是使用 REST 调用现有的 webscript?

如果我尝试执行第二个选项,是否可以这样做?对我的 Java Webscript 中的 REST 调用使用 HttpClient 类和 GetMethod/PostMethod 可能是 Rest 调用的最佳选择?或者这会给我带来问题?因为我对我支持的 webscript 使用了一个 Rest 调用,该调用对另一个 webscript 进行了另一个 rest 调用。

非常感谢!

【问题讨论】:

    标签: rest alfresco


    【解决方案1】:

    我认为这样做是不好的做法。在很多 Alfresco 版本中,默认服务并没有改变一点。即使他们改变了,他们仍然有不推荐使用的方法。

    其余的 api 也发生了变化。如果你想制作一个升级证明系统,我想最好坚持使用 Web 服务(自 2.x 版以来没有改变)或使用 CMIS。 但是将代码放在 Alfresco 中是没有意义的,因此将其放在界面中会更好。

    我个人会坚持使用变化不大的 JavaScript API。是的,其中启用了更多功能,但搜索和 CRUD 的默认操作保持不变。

    你甚至可以二人组:让你的 Java Backendscript 做任何花哨的事情,然后将结果发送到 je JavaScript 控制器并做默认的事情。

    【讨论】:

      【解决方案2】:

      一般来说,对您已经处于的进程执行 HTTP 调用是一个非常非常糟糕的主意。它更慢,更复杂且容易出错,占用更多资源(两个线程),在您的情况下,您甚至会失去事务安全性。想象一下最后一次通话由于某种原因失败了。此外,您很可能必须自己处理安全上下文传播。使用本机公共 API,它将变得简单、安全和稳定。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多