使用Python快速開發API和Web的工具:ApiLogicServer

發表於2021-05-12

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

關於自定義等更多細節點選標題。

 

相關文章