我有一个工作流程,根据预计销售值(value) R 5000.00 选择书籍列表,其中作者是“Siko Luyanda”。当测试我创建的查询时,它返回 2 条记录。我的工作流程也返回相同的记录,很高兴。
自从查询 MySQl Server 以来,我已使用 Formatter 节点创建传递到 ODBC 节点的 SQL 查询。在工作流内容 Pane 中,端点的 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 查询并以我选择的方式提供结果?
这个想法是,在某个阶段,即使我们只想从数据库中选择信息,我们也会想要敏感信息。
最佳答案
如果您使用 POST 方法调用端点,则工作流中的 HTTP 方法必须设置为 POST。
如果请求正文是一层 JSON 负载(即简单的键值对),Flowgear 将仅填充变量栏中的变量。
如果您使用另一种形式的帖子,则可以通过特殊的变量栏属性FgRequestBody访问帖子正文。
希望这有帮助。
关于php - 如何使用 POST-SELECT 通过 API 调用 FLOWGEAR 工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26038834/