【问题标题】:How to invoke a FLOWGEAR workflow via an API using a POST-SELECT如何使用 POST-SELECT 通过 API 调用 FLOWGEAR 工作流
【发布时间】:2014-09-25 12:35:41
【问题描述】:

我有一个工作流程,它根据预计销售价值 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 查询并以我选择的任何方式提供结果?

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

【问题讨论】:

    标签: php mysql sql odbc flowgear


    【解决方案1】:

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

    仅当请求正文是单层 JSON 有效负载(即简单的键值对)时,Flowgear 才会填充变量栏中的变量。

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-04
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多