如何使用POST-SELECT通过API调用FLOWGEAR工作流程

时间:2014-09-25 12:35:42

标签: php mysql sql odbc flowgear

我有一个工作流程,根据R 5000.00的预计销售价值选择书籍列表,其中作者是#S; Siko Luyanda"。在测试我创建的查询时,它返回2条记录。我的工作流程返回相同的记录,很开心。

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

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

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

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

此时我得到一个例外,其中说,"该服务不可用",如果我将我的端点设置为发布方法意味着我不能做" POST-SELECT&#34 ;通过工作流和API调用查询。下面是我如何使用变量条形变量作为帖子字段调用工作流程。

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

如果您使用其他形式的帖子,则可以通过特殊的变量栏属性 FgRequestBody 访问帖子正文。

希望这有帮助。