使用Python快速開發API和Web的工具:ApiLogicServer
ApiLogicServer是開源的,可在GitHub上獲得,在2個月多的時間內下載量超過18000 。演示視訊在這裡。業務邏輯是API表面下的冰山,ApiLogicServer提供了一種獨特的基於宣告的,基於規則的方法來自動執行事務邏輯。
這裡探討API Logic Server的3個主要元素:
- 資料庫的JSON:API
- 業務邏輯
- 基本的Web應用程式
建立ApiLogicServer
我們將使用ApiLogicServer CLI建立並執行api_logic_server專案(一個API和Web App,由底層Logic支援):
要建立ApiLogicServer,請執行以下操作:
- 將以下內容貼上到“終端”視窗中:ApiLogicServer run
- 接受預設Database URL引數以使用提供的示例資料庫。(通過指定SQLAlchemy URL指定自己資料庫)
背後工作機制:
- 為每個資料表建立一個端點-CRUD資料訪問自動化,包括過濾。分頁和相關資料訪問
- 執行類似電子表格的規則,以自動執行業務規則,業務敏捷性簡明提高40倍,可使用Python自定義
現在您可以使用Open API(Swagger)瀏覽您的API。瀏覽https:// localhost:5000
事務邏輯
業務邏輯的經典定義涉及兩個方面:
- 資料訪問-在此ApiLogicServer run步驟中是自動化的,不僅建立了API,還建立了資料訪問(基於SQLAlchemy)
- 事務邏輯(多表派生,約束和操作,例如傳送郵件或訊息)是任何面向資料庫的系統的重要方面。邏輯是API表面下的冰山。ApiLogicServer提供了一種獨特的基於宣告的,基於規則的方法來自動執行事務邏輯。
邏輯是宣告性的,用常規的程式程式碼實現邏輯很慢,容易出錯,並且很難維護,Api Logic Server通過引入一項用於自動化事務邏輯的重大創新,極大地提高了簡潔性,質量和可維護性:Logic Bank。邏輯包括:
- 規則-使用宣告式,類似電子表格的正規化,簡明40倍,並且
- Python —使用標準工具和技術進行控制和擴充套件
注意:在本教程中,API和Web App嚴格是根據資料模型建立的。但是,已注入邏輯,因此您可以對其進行探索。
規則不僅僅是簡單的過程事件處理程式。它們是類似電子表格的約束和派生表示式,應用於提交。過程如下:
- 按照通常的方式進行設計,並指定行為。
- 宣告規則以表達您的設計
與程式碼不同,您不會直接呼叫規則。Logic Bank中的規則引擎偵聽SQLAlchemybefore_flush事件,並通過反映連結依賴關係的順序應用適用的規則。
UI開發
ApiLogicServer CLI現在可以建立可執行的軟體:多頁,多表應用程式,如下所示:
- 多頁:應用程式每張表包含1頁
- 多表:頁面包含related_views每個相關子表,並加入父資料
- 最喜歡的欄位:最先顯示的欄位是“name”或包含“name”(可配置)
- 預測性聯接:顯示每個父項的“最愛”欄位(產品名稱-而非產品ID)
- ID最後:這些無聊的欄位未顯示在列表上,而最後顯示在其他頁面上
執行:
cd ApiLogicServer/api_logic_server python ui/basic_web_app/run.py |
關於自定義等更多細節點選標題。
相關文章
- 如何使用 Pyramid 和 Cornice 編寫 Python Web APIPythonWebAPI
- python web開發-flask中日誌的使用PythonWebFlask
- Python常用的web開發工具,你瞭解多少?PythonWeb
- Web Storage API的介紹和使用WebAPI
- Python的web開發PythonWeb
- 如何使用 Flask 編寫 Python Web APIFlaskPythonWebAPI
- ES API,使用Kibana的開發工具用例說明API
- Python Web開發PythonWeb
- Laravel 快速開發工具Laravel
- 快速web開發框架——learun frameworkWeb框架Framework
- web前端開發工具有哪些?8個好用的web前端開發常用工具Web前端
- Web開發輔助工具Web
- 百度地圖API開發的快速使用和新增大量座標點的幾種方法地圖API
- 學python可以做Web開發嗎?python適合Web開發嗎?PythonWeb
- 筆記:API 和 Web API筆記APIWeb
- Learun,已開源,一個.net web快速開放工具Web
- Python開發:Python2和Python3的共存和切換使用Python
- 如何快速開發 Web 聊天室Web
- 一個快速生成web和微服務程式碼工具Web微服務
- python和Java哪個更適合web開發?PythonJavaWeb
- Python和Java,哪個更適合web開發?PythonJavaWeb
- 專業的Web開發環境工具Web開發環境
- 快速開始api開發(五)定時任務 crontab 和 佇列 queueAPI佇列
- 【開發者福利】公開API的使用API
- MDN之學習 Web 開發(一)【Web API簡介】WebAPI
- Python中WEB開發(一)PythonWeb
- PHP和Python哪個更適合Web開發?Python學習!PHPPythonWeb
- 用express+mongoose快速開發API介面ExpressGoAPI
- 使用go語言開發自動化API測試工具GoAPI
- 在自己的 app 中使用 Sarfari 開發工具除錯 Web 頁面APP除錯Web
- 使用 ASP.NET Core 和 MongoDB 建立 Web APIASP.NETMongoDBWebAPI
- Ecplise開發工具的使用
- 使用 TreeQL 加速你的 API 開發API
- Python學習系列之十大Web開發工具介紹!PythonWeb
- 《Flask Web開發 基於Python的Web應用開發實戰》簡評FlaskWebPython
- API開發平臺,全面快速整合釋出API服務API
- Web開發初探之JavaScript 快速入門WebJavaScript
- web前端開發需要哪些工具和需要學習什麼?Web前端