php - Flowgear 可配置变量栏,用于通过 API 进行 sql 查询

标签 php mysql integration flowgear

我有一个包含书籍列表的数据表。下面是我的sql语句:

SELECT `Book`.`id` , `Book`.`name` , `Book`.`isbn` , `Book`.`quantity_in_stock` , `Book`.`price` , (`Book`.`quantity_in_stock` * `Book`.`price`) AS `sales`, concat(`Author`.`name`, ' ', `Author`.`surname`) AS `author`  
FROM `books` AS `Book` 
LEFT JOIN authors AS `Author` 
ON ( `Book`.`author_id` = `Author`.`id` ) 
WHERE  (`Book`.`quantity_in_stock` * `Book`.`price`) > 5000.00

查询工作正常,工作流也工作正常。但是,我想通过 API 访问它并通过变量栏使 5000.00 值可配置。

问题是我如何使这成为可能,以便当我使用下面的端点调用我的 API 时它可以正常工作?

https://domain.flowgear.io/5000booklist/{sales_value}

我想要的是能够通过 API 重新使用我的工作流程,并且只传递我想要查询表格的销售值。销售额可以是 2000 或 5000,具体取决于我想要实现的目标。

最佳答案

  1. 添加一个变量 bar 并为其添加一个名为“salesValue”的属性
  2. 在工作流详细信息 Pane 中,提供此 url:“/booklist/{salesValue}”- 大括号中的值必须与变量 bar 中的属性名称匹配
  3. 添加格式化程序,将您的 SQL 模板放入包括“WHERE (Book.quantity_in_stock * Book.price ) > {salesValue}"在 Expression 属性中,然后添加一个名为 salesValue 的自定义字段,并将其固定在变量栏 salesValue 属性中。将转义设置为 SQL。
  4. 获取 Formatter 的输出并将其插入 SQL 查询连接器的 SQL 查询属性。
  5. 添加另一个变量bar,并添加特殊属性FgResponseBody和FgResponseContentType
  6. 将 SQL 结果固定到 FgResponseBody 并将 FgResponseContentType 设置为 'text/xml'

如果要返回 JSON,请使用 JSON Convert 将 SQL Query 的结果转换为 JSON,然后将其固定到 FgResponseBody 并将 FgResponseContentType 设置为 'application/json'

关于php - Flowgear 可配置变量栏,用于通过 API 进行 sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25993467/

相关文章:

python - DELIMITER/在 SQLAlchemy 中创建触发器

documentation - 如何记录应用程序以及它们如何与其他应用程序集成?

macos - DropBox Mac 客户端如何工作?

mysql - 从先前查询的结果中提取最新版本的文章

hadoop - Cassandra 与 Hadoop 的集成

具有公共(public)列的 Php mysql 回显结果

javascript - 将值添加到 PHP 数组中的特定键位置

php - 站点模板在 wordpress 中不起作用

php - 在 PHP 中检查 mysql 中的空行

php - 将 php 页面上的表单提交到同一页面是不好的做法吗?