使用Python快速开发API和Web的工具:ApiLogicServer


ApiLogicServer是开源的,可在GitHub上获得,在2个月多的时间内下载量超过18000 。演示视频在这里。业务逻辑是API表面下的冰山,ApiLogicServer提供了一种独特的基于声明的,基于规则的方法来自动执行事务逻辑。
这里探讨API Logic Server的3个主要元素:

  1. 数据库的JSON:API
  2. 业务逻辑
  3. 基本的Web应用程序

 
创建ApiLogicServer
我们将使用ApiLogicServer CLI创建并运行api_logic_server项目(一个API和Web App,由底层Logic支持):
要创建ApiLogicServer,请执行以下操作:
  1. 将以下内容粘贴到“终端”窗口中:ApiLogicServer run
  2. 接受默认Database URL参数以使用提供的示例数据库。(通过指定SQLAlchemy URL指定自己数据库)

背后工作机制:
  •  为每个数据表创建一个端点-CRUD数据访问自动化,包括过滤。分页和相关数据访问
  • 执行类似电子表格的规则,以自动执行业务规则,业务敏捷性简明提高40倍,可使用Python自定义

现在您可以使用Open API(Swagger)浏览您的API。浏览https:// localhost:5000
 
事务逻辑

业务逻辑的经典定义涉及两个方面:
  1. 数据访问-在此ApiLogicServer run步骤中是自动化的,不仅创建了API,还创建了数据访问(基于SQLAlchemy)
  2. 事务逻辑(多表派生,约束和操作,例如发送邮件或消息)是任何面向数据库的系统的重要方面。逻辑是API表面下的冰山。ApiLogicServer提供了一种独特的基于声明的,基于规则的方法来自动执行事务逻辑。

逻辑是声明性的,用常规的程序代码实现逻辑很慢,容易出错,并且很难维护,Api Logic Server通过引入一项用于自动化事务逻辑的重大创新,极大地提高了简洁性,质量和可维护性:Logic Bank。逻辑包括:
  • 规则-使用声明式,类似电子表格的范式,简明40倍,并且
  • Python —使用标准工具和技术进行控制和扩展

注意:在本教程中,API和Web App严格是根据数据模型创建的。但是,已注入逻辑,因此您可以对其进行探索。
规则不仅仅是简单的过程事件处理程序。它们是类似电子表格的约束和派生表达式,应用于提交。过程如下:
  1. 按照通常的方式进行设计,并指定行为。
  2. 声明规则以表达您的设计

与代码不同,您不会直接调用规则。Logic Bank中的规则引擎侦听SQLAlchemybefore_flush事件,并通过反映链接依赖关系的顺序应用适用的规则。
 
UI开发
ApiLogicServer CLI现在可以创建可运行的软件:多页,多表应用程序,如下所示:
  1. 多页:应用程序每张表包含1页
  2. 多表:页面包含related_views每个相关子表,并加入父数据
  3. 最喜欢的字段:最先显示的字段是“name”或包含“name”(可配置)
  4. 预测性联接:显示每个父项的“最爱”字段(产品名称-而非产品ID)
  5. ID最后:这些无聊的字段未显示在列表上,而最后显示在其他页面上

运行:
cd ApiLogicServer/api_logic_server
python ui/basic_web_app/run.py

关于自定义等更多细节点击标题。