0

我有一个工作流程,它根据预计的销售价值 5000.00 卢比来选择书籍列表,其中作者是“Siko Luyanda”。在测试我创建的查询时,它返回了 2 条记录。我的工作流程也返回相同的记录,很高兴。

自从查询 MySQl 服务器以来,我使用了 Formatter 节点来创建传递给我的 ODBC 节点的 sql 查询。在工作流内容窗格中,端点的 HTTP 方法设置为 GET。通过 API 调用使用 php 调用我的工作流程可以正常工作:

 $results = invokeFlowgear("https://domain.flowgear.io/authorbooksaleslist", , "login", "pwd", 30,array());

结果输出是我从工作流控制台和数据库本身得到的,我很高兴。

但是,在我将端点更改为使用 POST 的那一刻,我的查询失败了。以使用 POST 方法隐藏正在发布的字段的 HTML 表单为例。

此时,如果我将端点设置为发布为一种方法,这意味着我无法通过工作流和 API 调用执行“POST-SELECT”查询,我会收到一个异常,上面写着“服务不可用”。下面是我如何使用可变栏变量作为发布字段来调用工作流。

$results = invokeFlowgear("https://domain.flowgear.io/authorbooksaleslist", "login", "pwd", 30,
       array(
        'salesValue' => 5000.00,
        'authorId' => 3
     ));

数组中的值是我想要在结果发送到 ODBC 节点之前在 Formatter 节点中传递的值。最终我应该把我的结果列出来。

是否有可能拥有一个 HTTP POST 端点,通过 API 传递值以在数据库上运行 sql 查询,并以我选择的任何方式提供结果?

这个想法是,在某个阶段,即使我们只想从数据库中选择信息,我们也会想要敏感信息。

4

1 回答 1

0

如果您使用 POST 方法调用端点,则工作流中的 HTTP 方法必须设置为 POST。

如果请求正文是一个简单的键值对的一层 JSON 有效负载,Flowgear 只会填充变量栏中的变量。

如果您使用的是另一种形式的帖子,则可以通过特殊的 Variable Bar 属性FgRequestBody访问帖子正文。

希望这可以帮助。

于 2014-10-01T10:29:51.000 回答