# 使用orm结合fastapi接口对数据库的订单表进行增删改查 # ① 连接数据库,定义数据库表模型,以及数据库会话工具 # ② 定义请求体模型,编写post接口对数据库的订单表插入数据 # ③ 编写put接口对订单进行更新操作 # ④ 编写get接口对订单进行查询操作 # ⑤ 编写delete接口对订单进行删除操作 # ① api目录里编写一个文件order_api.py ,利用api路由分发,存放编写好的以上四个订单增删改查接口 from fastapi import APIRouter, Depends, HTTPException from homework.day23.schema.order_schema import * from homework.day23.database import get_db from homework.day23.dao.order_dao import * OrderAPI = APIRouter() @OrderAPI.post("",summary="订单新增接口",response_model=OrderResponse) def add_order(ord:list[OrderRequest],db=Depends(get_db)): for i in ord: d = i.model_dump() r = add_order_dao(o=d,db=db) if not r: raise HTTPException(status_code=500,detail='添加失败!请稍后在添加!') return OrderResponse(detail='添加成功!',total=len(ord)) @OrderAPI.put("/{order_id}",summary="订单更新接口",response_model=OrderResponse) def update_order(order_id:int, ord:OrderRequest,db=Depends(get_db)): rows = update_order_dao(id=order_id,o=ord,db=db) if not rows: raise HTTPException(status_code=500, detail='更新失败!') return OrderResponse(detail='更新成功!',total= rows ) @OrderAPI.get("",summary="订单查询接口",response_model=OrderResponse) def get_order(order_title:str|None = None,order_id:int|None = None,page:int=1,page_size:int=10,db=Depends(get_db)): r = get_order_dao(id = order_id,title=order_title,p=page,pz=page_size,db=db) if r: return OrderResponse(detail='更新成功!',total=len(r),data=r ) raise HTTPException(status_code=404, detail='订单不存在!') @OrderAPI.delete("/{order_id}",summary="订单删除接口",response_model=OrderResponse) def delete_order(order_id:int,db=Depends(get_db)): rows = del_order_dao(id=order_id,db=db) if not rows: raise HTTPException(status_code=500, detail='删除异常!') return OrderResponse(detail='删除成功!',total= rows )