【问题标题】:How to run a business logic when sending data through Domino REST API通过 Domino REST API 发送数据时如何运行业务逻辑
【发布时间】:2015-01-15 16:27:24
【问题描述】:

我目前开始使用 HTML5、Bootstrap 和 AngularJS 设计移动应用程序。数据存储在 Lotus/Domino 数据库中,并通过 Domino 数据服务 REST API 访问。

我看到通过添加“computewithform=true”参数,可以在向服务器发送 POST 或 PUT 请求时执行 ComputeWithForm。但是是否可以执行类似于经典 WebQuerySave 代理的业务逻辑?我搜索了一段时间,但没有找到任何东西。

目前,我绕过了这个问题,将标准请求发送到 REST API,然后向 XPage 发送第二个请求,该 XPage 通过其 UNID 获取文档,运行标准 Java 代理(使用 runWithDocumentContext 方法)并发送回对客户端的 HTTP 响应。但这并不是很令人满意。有没有更直接的方法来做到这一点?

提前致谢。

【问题讨论】:

  • 您必须能够向代理发帖。数据服务 API 是普通的 CRUD (imo),所以除此之外 - 编写您自己的“服务”/代理。

标签: api rest lotus-domino


【解决方案1】:

对不起。 Domino 数据服务不支持除计算形式之外的任何内容。如果您的业务逻辑是用 Java 或 LotusScript 实现的,则无法在数据服务 POST 请求中调用它。

【讨论】:

    【解决方案2】:

    查看TriggerHappy project on OpenNTF。它包括一个服务器插件,该插件使用 Notes C API 的扩展管理器例程在服务器上的数据库中发生事件时触发代理。即,您可以捕获指示文档已创建或更新的事件,并触发您的代理运行您的业务逻辑。由于无论文档是如何创建或更新的,这些事件都会发生,您可能需要通过 POST 或 PUT 请求设置一个特殊的项目值,并在您的代理中包含一些逻辑来检查该项目值,运行仅当符合预期时才执行业务逻辑,并重置该项目值,以便在其他一些进程触及同一文档时该逻辑不会运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 2019-08-22
      • 2016-03-03
      • 1970-01-01
      • 2018-06-13
      相关资源
      最近更新 更多