記錄Python低代碼開發框架zdppy_amcrud的開發過程

實現新增接口

基礎代碼

import env
import mcrud
import api
import snowflakeenv.load(".env")
db = mcrud.new_env()table = "user"
columns = ["name", "age"]async def add_user(req):data = await api.req.get_json(req)values = [data.get(k) for k in columns]if "id" not in columns:columns.append("id")values.append(snowflake.idstr())db.add(table, columns, values)return api.resp.success(data)app = api.Api(routes=[api.resp.post("/user/add", add_user)],middleware=[api.middleware.cors()],
)if __name__ == '__main__':app.run()

基本封裝

import env
import mcrud
import api
import amcrudenv.load(".env")
db = mcrud.new_env()table = "user"
columns = ["name", "age"]app = api.Api(routes=[api.resp.post("/user/add", amcrud.add(db, table, columns))],middleware=[api.middleware.cors()],
)if __name__ == '__main__':app.run()

測試

zhttp 127.0.0.1:8888/user/add name=zs age=23`

在這里插入圖片描述

查詢所有用戶接口

基礎代碼

import env
import mcrud
import api
import amcrudenv.load(".env")
db = mcrud.new_env()table = "user"
columns = ["name", "age"]async def get_all(req):if "id" not in columns:columns.append("id")data = db.get_all(table, columns)return api.resp.success(data)app = api.Api(routes=[api.resp.post("/user", amcrud.add(db, table, columns)),api.resp.get("/user", get_all),],middleware=[api.middleware.cors()],
)if __name__ == '__main__':app.run()

基本封裝

import env
import mcrud
import api
import amcrudenv.load(".env")
db = mcrud.new_env()table = "user"
columns = ["name", "age"]app = api.Api(routes=[api.resp.post("/user", amcrud.add(db, table, columns)),api.resp.get("/user", amcrud.get_all(db, table, columns)),],middleware=[api.middleware.cors()],
)if __name__ == '__main__':app.run()

測試

zhttp 127.0.0.1:8888/user

在這里插入圖片描述

根據ID查詢接口

基礎代碼

import env
import mcrud
import api
import amcrudenv.load(".env")
db = mcrud.new_env()table = "user"
columns = ["name", "age"]async def get(req):_id = api.req.get_path(req, "id")data = db.get_by_id(table, _id)return api.resp.success(data)app = api.Api(routes=[api.resp.post("/user", amcrud.add(db, table, columns)),api.resp.get("/user", amcrud.get_all(db, table, columns)),api.resp.get("/user/{id}", get),],middleware=[api.middleware.cors()],
)if __name__ == '__main__':app.run()

基本封裝

import env
import mcrud
import api
import amcrudenv.load(".env")
db = mcrud.new_env()table = "user"
columns = ["name", "age"]app = api.Api(routes=[api.resp.post("/user", amcrud.add(db, table, columns)),api.resp.get("/user", amcrud.get_all(db, table, columns)),api.resp.get("/user/{id}", amcrud.get(db, table, columns)),],middleware=[api.middleware.cors()],
)if __name__ == '__main__':app.run()

測試

zhttp 127.0.0.1:8888/user/1793956346500816896

在這里插入圖片描述

根據ID修改接口

基礎代碼

import env
import mcrud
import api
import amcrudenv.load(".env")
db = mcrud.new_env()table = "user"
columns = ["name", "age"]async def update(req):_id = api.req.get_path(req, "id")data = await api.req.get_json(req)new_columns = []values = []for k, v in data.items():if k in columns:new_columns.append(k)values.append(v)db.update(table, _id, new_columns, values)return api.resp.success()app = api.Api(routes=[api.resp.post("/user", amcrud.add(db, table, columns)),api.resp.get("/user", amcrud.get_all(db, table, columns)),api.resp.get("/user/{id}", amcrud.get(db, table, columns)),api.resp.put("/user/{id}", update),],middleware=[api.middleware.cors()],
)if __name__ == '__main__':app.run()

基本封裝

import env
import mcrud
import api
import amcrudenv.load(".env")
db = mcrud.new_env()table = "user"
columns = ["name", "age"]app = api.Api(routes=[api.resp.post("/user", amcrud.add(db, table, columns)),api.resp.get("/user", amcrud.get_all(db, table, columns)),api.resp.get("/user/{id}", amcrud.get(db, table, columns)),api.resp.put("/user/{id}", amcrud.update(db, table, columns)),],middleware=[api.middleware.cors()],
)if __name__ == '__main__':app.run()

測試

zhttp PUT 127.0.0.1:8888/user/1793956346500816896 name=zss age=33
zhttp 127.0.0.1:8888/user/1793956346500816896

在這里插入圖片描述

根據ID刪除接口

基礎代碼

import env
import mcrud
import api
import amcrudenv.load(".env")
db = mcrud.new_env()table = "user"
columns = ["name", "age"]async def delete_route(req):_id = api.req.get_path(req, "id")db.delete(table, _id)return api.resp.success()app = api.Api(routes=[api.resp.post("/user", amcrud.add(db, table, columns)),api.resp.get("/user", amcrud.get_all(db, table, columns)),api.resp.get("/user/{id}", amcrud.get(db, table, columns)),api.resp.put("/user/{id}", amcrud.update(db, table, columns)),api.resp.delete("/user/{id}", delete_route),],middleware=[api.middleware.cors()],
)if __name__ == '__main__':app.run()

基本封裝

import env
import mcrud
import api
import amcrudenv.load(".env")
db = mcrud.new_env()table = "user"
columns = ["name", "age"]app = api.Api(routes=[api.resp.post("/user", amcrud.add(db, table, columns)),api.resp.get("/user", amcrud.get_all(db, table, columns)),api.resp.get("/user/{id}", amcrud.get(db, table, columns)),api.resp.put("/user/{id}", amcrud.update(db, table, columns)),api.resp.delete("/user/{id}", amcrud.delete(db, table)),],middleware=[api.middleware.cors()],
)if __name__ == '__main__':app.run()

測試

zhttp DELETE 127.0.0.1:8888/user/1793956346500816896
zhttp 127.0.0.1:8888/user

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14318.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14318.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14318.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SkyEye對接CANoe:助力汽車軟件功能驗證

01.簡介 CANoe(CAN open environment)是德國Vector公司專為汽車總線設計而開發的一款通用開發環境,作為車載網絡和ECU開發、測試和分析的專業工具,支持從需求分析到系統實現的整個系統的開發過程。CANoe豐富的功能和配置選項被OE…

虛擬ECU:徹底改變汽車軟件開發與測試

汽車開發領域有著垂直性較強的一系列需求,其中最為矚目的需求之一就是對安全高效的軟件測試方法的需求。傳統的汽車開發偏向使用硬件原型與真實ECU進行軟件測試,但由于硬件設備往往在開發周期的中后階段才生產完成,給汽車開發帶來了成本與時間…

理解Solidity 中的 tx.origin 和 msg.sender

開發者需要了解在Solidity中tx.origin和msg.sender的區別。這兩個全局變量經常被混淆,盡管它們之間有著根本的不同。雖然乍一看它們可能相似,但在交易的上下文中,tx.origin和msg.sender代表不同的地址。在這篇博客文章中,我們將深…

spring boot 之 事務

內容是小老弟的一些整理和個人思考總結,知識的海洋那么大,有錯誤的話還請諸位大佬指點一下! 事務是一個不可分割操作序列,也是數據庫并發控制的基本單位,其執行的結果必須使數據庫從一種一致性狀態變到另一種一致性狀…

電商內卷時代,視頻號小店憑借一己之力“脫穎而出”

大家好,我是電商笨笨熊 今年618各大電商平臺花樣百出; 某寶更是直接取消了“預售”,從5月就開始進入618預熱期; 不少玩家既開心又難過,市場如此內卷,618確實是個爆發期,但更多的需要不斷壓低…

Star CCM+分配零部件至區域后交界面丟失-更新找回

前言 在工程應用中,將零部件分配至區域后,一般常規的操作需要對交界面進行檢查。偶爾會發現交界面丟失。遇到此類問題,在沒有做其他操作前(比如畫網格),可以選擇先刪除所有區域在重新分配至區域。若已經進…

基于SSM的大學生兼職管理系統

基于SSM的大學生兼職管理系統的設計與實現~ 開發語言:Java數據庫:MySQL技術:SpringSpringMVCMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系統展示 登錄界面 企業界面 前臺學生界面 管理員界面 摘要 隨著大學生兼職市場的日益繁…

K8s 高級調度

文章目錄 K8s 高級調度CronJobinitContainerTaint 和 Toleration污點(Taint)容忍(Toleration) AffinityNodeAffinityPodAnffinity 和 PodAntiAffinity 總結 K8s 高級調度 CronJob 在 k8s 中周期性運行計劃任務,與 li…

【vue echart】完成一個簡單echart圖表+自適應

實現效果&#xff1a; html&#xff1a; <divref"echartOne"id"echartOne"style"width: 100%; height: 100%" ></div> js: getEchartOne() {let chart this.$echarts.init(this.$refs.echartOne);chart.setOption({title: {text:…

linux 有名管道FIFO

無名管道應用的一個重大限制是它沒有名字&#xff0c;因此&#xff0c;只能用于具有親緣關系的進程間通信&#xff0c;在有名管道&#xff08;named pipe或FIFO&#xff09;提出后&#xff0c;該限制得到了克服。FIFO不同于管道之處在于它提供一個路徑名與之關聯&#xff0c;以…

云原生|為什么服務網格能夠輕松重塑微服務?一文講清楚!

目錄 一、概述 二、 設計 三、服務網格 四、總結 一、概述 容器化技術與容器編排推動了微服務架構應用的演進&#xff0c;于是應用的擴展與微服務的數量日益增加&#xff0c;新的問題隨之而來&#xff0c;監控服務的性能變得越來越困難&#xff0c;微服務與微服務之間相互通…

v-rep--lua接口和c++接口的關聯

我們在coppeliasim中調用的lua腳本函數sim.xxxxx()的執行規律有兩種情況&#xff1a; 1&#xff0c;要么就是在coppliasim的sim.lua中有這個lua函數的定義&#xff0c;直接執行這個lua函數即可。比如&#xff0c;sim.creatPath(); 2&#xff0c;要么就是這個lua接口沒有lua語…

Kafka-集群管理者(Controller)選舉機制、任期(epoch)機制

Kafka概述 Kafka-集群管理者&#xff08;Controller&#xff09;選舉機制 Kafka中的Controller是Kafka集群中的一個特殊角色&#xff0c;負責對整個集群進行管理和協調。Controller的主要職責包括分區分配、副本管理、Leader選舉等。當當前的Controller節點失效或需要進行重新…

嵌入式實時操作系統筆記1:RTOS入門_理解簡單的OS系統

今日開始學習嵌入式實時操作系統RTOS&#xff1a;UCOS-III實時操作系統 本次目標是入門RTOS&#xff0c;理解多任務系統...... 本文只是個人學習筆記&#xff0c;基本都是對網上資料的整合...... 目錄 STM32裸機與RTOS區別&#xff1a; 裸機中斷示例&#xff1a; RTOS對優先級…

汽車標定技術(二十一)--英飛凌TC3xx的OLDA怎么玩?(2)

目錄 1.概述 2.Vector提出的OLDA概念 2.1 RAM Copy 2.2 Data Trace 3.小結 1.概述 上一篇汽車標定技術(二十一)--英飛凌TC3xx的OLDA怎么玩?(1)-CSDN博客,我們講了TC3xx

Spring MVC/Web

1.Spring MVC 的介紹 Spring Web MVC是基于Servlet API構建的原始Web框架&#xff0c;也是Spring框架的一部分。它提供了靈活可擴展的MVC架構&#xff0c;方便開發者構建高性能的Web應用程序&#xff0c;并與 Spring 生態系統無縫集成。 2.MVC 設計模式 MVC&#xff08;Model…

設計模式—23種設計模式重點 表格梳理

設計模式的核心在于提供了相關的問題的解決方案&#xff0c;使得人們可以更加簡單方便的復用成功的設計和體系結構。 按照設計模式的目的可以分為三大類。創建型模式與對象的創建有關&#xff1b;結構型模式處理類或對象的組合&#xff1b;行為型模式對類或對象怎樣交互和怎樣…

CSS實現圖片浮動在底層 div 之上,而不會影響底層 div 的布局和內容

前言&#xff1a;遇到個需求&#xff0c;需要圖片顯示在div之上&#xff0c;但是不占用div的空間布局&#xff0c;網上的答案五花八門&#xff0c;但其實使用css就可以簡單實現&#xff0c;僅以此博客作為記錄 舉個栗子 <div class"container"><img src&qu…

Linux 網絡編程基礎——網絡模型

網絡模型 網絡模型1. OSI七層模型1. 物理層&#xff08;Physical Layer&#xff09;2. 數據鏈路層&#xff08;Data Link Layer&#xff09;3. 網絡層&#xff08;Network Layer&#xff09;4. 傳輸層&#xff08;Transport Layer&#xff09;5. 會話層&#xff08;Session Lay…

研發機構大數據遷移如何保障敏感數據不泄露

隨著云計算和大數據技術的飛速進步&#xff0c;越來越多的企業正試圖通過數據遷移來提升IT基礎設施的效率&#xff0c;減少成本&#xff0c;并增強業務的靈活性。但是&#xff0c;這一過程并非沒有它的挑戰&#xff0c;尤其是在數據安全方面。數據在轉移過程中可能會遭遇黑客攻…