Python使用zdppy_crud框架快速生成基本增删改查接口
2024-01-07 19:33:38
概述
zdppy_amcrud这个框架的强大之处在于只需要几行代码,就可以拥有新增、修改、删除、批量删除、查询、查询所有等常见的接口。
本教程中,我们来演示一下基本的用法。
创建数据库和表
首先,我们需要提前准备好数据库和表,便于后续的操作。这里,我们选择使用zdppy_mysql这个框架提供的代码级别的操作,基于python脚本代码去创建数据库和创建表。
示例代码:
from mysql.db_object import Database
db = 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 Database
db = 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 uvicorn
uvicorn.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写累了,就快来试试吧!!!
文章来源:https://blog.csdn.net/qq_37703224/article/details/135424545
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!