如何通过Domino REST API发送数据时运行业务逻辑

时间:2014-11-18 13:04:01

标签: api rest lotus-domino

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

我看到在向服务器发送POST或PUT请求时可以通过添加" computewithform = true"来执行ComputeWithForm。参数。但是,是否可以执行类似于传统WebQuerySave代理的业务逻辑?我搜索了一会儿但找不到任何东西。

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

提前致谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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