Python使用zdppy_crud框架快速生成基本增删改查接口

概述

zdppy_amcrud这个框架的强大之处在于只需要几行代码,就可以拥有新增、修改、删除、批量删除、查询、查询所有等常见的接口。

本教程中,我们来演示一下基本的用法。

创建数据库和表

首先,我们需要提前准备好数据库和表,便于后续的操作。这里,我们选择使用zdppy_mysql这个框架提供的代码级别的操作,基于python脚本代码去创建数据库和创建表。

示例代码:

from mysql.db_object import Databasedb = Database(host="localhost",port=3306,username="root",password="zhangdapeng520",database="",charset="utf8mb4",
)
database_name = "user_manager"
db.add_database_force(database_name)db = Database(host="localhost",port=3306,username="root",password="zhangdapeng520",database=database_name,charset="utf8mb4",
)
user_table_sql = "create table user(id int primary key auto_increment, name varchar(36), age int)"
db.execute(user_table_sql)print(db.get_all_table())

生成CRUD接口

有了数据库和表以后,我们就可以使用zdppy_amcrud这个框架快速生成CRUD接口了。

示例代码:

import amcrud
from api import Api, middleware
from mysql.db_object import Databasedb = Database(password="zhangdapeng520", database="user_manager")
table = "user"
columns = ["name", "age"]
user_router = amcrud.Router(db, table, columns)app = Api(routes=[*user_router.get_routes()],middleware=[middleware.cors()],
)if __name__ == '__main__':import uvicornuvicorn.run("main:app")

这段代码会自动生成如下接口:

  • 新增用户接口
  • 根据id删除用户接口
  • 根据id修改用户接口
  • 根据id列表批量删除用户接口
  • 根据id查询用户接口
  • 查询所有用户接口

使用RestClient进行测试

最后,我们使用RestClient接口测试工具进行测试。

新增用户接口

{"method":"post","url": "http://localhost:8000/user","data": {"name": "张三","age": 23}
}

根据id删除用户接口

{"method":"delete","url": "http://localhost:8000/user/1"
}

根据id修改用户接口

{"method":"put","url": "http://localhost:8000/user/1","data": {"name": "张三333","age": 23}
}

根据id列表批量删除用户接口

{"method":"delete","url": "http://localhost:8000/user","data": {"ids": [10, 11]}
}

根据id查询用户接口

{"method":"get","url": "http://localhost:8000/user/1"
}

查询所有用户接口

{"method":"get","url": "http://localhost:8000/user"
}

总结

zdppy_amcrud作为一款提升后端开发效率的国产API接口生成框架,绝对是不可多得的提升开发效率的神器。配合zdppy_api生成更加复杂的接口,配合zdppy_mysql进行更加细腻的数据库操作,能够实现后端接口开发的基本闭环。

那么,你心动了吗,要不要体验一把几行代码生成常用API接口的爽感呢?

如果你每天写CRUD写累了,就快来试试吧!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/601003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【STM32】STM32学习笔记-ADC模数转换器(21)

00. 目录 文章目录 00. 目录01. ADC简介02. ADC主要特征03. 逐次逼近型ADC04. ADC功能描述05. ADC基本结构06. 输入通道07. 转换模式08. 触发控制09. 数据对齐10. 转换时间11. 校准12. 硬件电路13. 附录 01. ADC简介 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F1…

基于JavaWeb+SSM+Vue基于微信小程序的消防隐患在线举报系统的设计与实现

基于JavaWebSSMVue基于微信小程序的消防隐患在线举报系统的设计与实现 源码获取入口KaiTi 报告Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 KaiTi 报告 1.1 题目背景 随着信息化飞速发展,互联网不…

【Python】Excel不同sheet另存为不同CSV

我有一个excel,内有不同sheet,现在批量生成不通csv文件,并以sheet名命名,或根据sheet名调整命名。 # 读取新的Excel文件 df pd.read_excel(rD:\itm\data.xlsx, sheet_nameNone)# 遍历每个sheet,将其另存为不同的CSV文…

基于单片机的护理床控制器设计

一、摘要 随着科技的不断发展,人们对生活质量的要求越来越高,特别是在医疗保健领域。护理床作为医院病房中常见的设备,其功能和性能直接影响到患者的康复进程。本文主要介绍了一种基于单片机的护理床控制器设计,该控制器可以实现…

Go语言增量式学习1

Go语言增量式学习1 Go语言增量式学习1, 又名:Go企业级应用到底层开发(第1天) PS:这个系列是准备做从go基础到Web开发,系统编程,云原生应用, 网络编程, 工具和脚本开发, 机器学习,Cgo编程&…

本地计算机 上的 My5OL808 服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

客户反馈说mysql启动不了,报错信息: 本地计算机 上的 My5OL808 服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止。 查了不少资料,最后分析问题是这样的,手动或者重复安装mysql时,创建了多个…

C#,归并排序算法(Merge Sort Algorithm)的源代码及数据可视化

归并排序 归并算法采用非常经典的分治策略,每次把序列分成n/2的长度,将问题分解成小问题,由复杂变简单。 因为使用了递归算法,不能用于大数据的排序。 核心代码: using System; using System.Text; using System.Co…

蓝桥杯-双指针 | 最长连续不重复子序列 | 算法基础

⭐简单说两句⭐ ✨ 正在努力的小新~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &…

Nodejs+express后端学习笔记(1)

1 Node.js安装 1、下载安装包:进入官网(https://nodejs.org/en),下载左侧的稳定版。 2、选择安装位置,不用勾选自动安装必要工具。 其他都默认Next。 配置环境,具体参考本文章: https://blo…

智能风扇控制系统设计与实现

一、摘要 随着科技的不断发展,人们对生活质量的要求越来越高,特别是在家居环境方面。智能风扇控制系统作为智能家居的重要组成部分,可以为用户提供更加舒适、便捷的生活体验。本文主要介绍了一种基于单片机的智能风扇控制系统设计与实现方法…

WPF 怎么判断MediaElement视频播放完成

WPF MediaElement控件中没有属性可以直接判断视频是否被播放完了,那要怎么判断视频是否播放完成呢? 其实我们可以使用订阅MediaEnded事件,当视频播放完后,会触发该事件。 MediaElement.MediaEnded Event:在媒体结束时发…

提升网络安全重要要素IP地址

在数字化时代,网络安全已经成为人们关注的焦点。本文将深入探讨网络安全与IP地址之间的紧密联系,以及IP地址在构建数字世界的前沿堡垒中的关键作用。 网络安全是当今数字社会中不可忽视的挑战之一。而IP地址,作为互联网通信的基础协议&#…

数据结构 —— 手写排序算法

数据结构 —— 手写排序算法 一、堆排序二、快速排序 能手撸堆排序和快速排序,相信你在面试中已经能应付大部分排序问题了。 一、堆排序 建堆算法在面试中非常常见,我曾经就遇到过。因此为避免踩坑,特此开记录帖。堆必须是一棵完全二叉树&a…

Allegro如何进行四层板板层设计

Allegro如何进行四层板板层设计 板层设计说明 在进行多层板设计时我们画好PCB板框后,都要进行板层的设计。这里就以最简单的4层板为例为大家举例说明。 板层设置 点击“Setup”->“Cross Section Editor”如下图所示: 也可以直接点击工具栏进入…

java基于ssm框架的校园闲置物品交易平台论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本校园闲置物品交易平台就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据…

LeetCode-Z 字形变换(6)

题目描述: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往…

安防监控EasyCVR视频融合/汇聚平台大华热成像摄像机智能告警上报配置步骤

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

python实现圆圈烟花_附完整源码【第21篇—python过新年】

文章目录 前言效果图(动态)完整代码代码讲解总结寄语 前言 烟花是一种庆祝、欢庆或庆典活动中常见的美丽表现,它们以多彩的光芒和炫丽的形状为人们带来欢乐和惊喜。在这个项目中,我们将使用Python编程语言创建一个简单而有趣的程…

Pytest的测试报告——Allure

一、html-report测试报告 html-report测试报告。是pytest下基本的测试报告。要使用pytest-html测试报告,就要确保python版本在3.6及以上即可。本身pytest所提供的测试结果汇总,是基于控制台的文本输出形式。 pytest-html是基于HTML格式实现的测试报告的…

无心剑汉英双语诗《一亩三分地》

一亩三分地 My Small World 二十四年世事变幻 拨号上网曾争分夺秒 如今不限流量肆意冲浪 大数据,云计算,人工智能 洗刷着世间各行各业 周围人,生活不断升级 房子,车子,妻子…… 换了一茬又一茬 洋溢着自豪的表情 而我…