From 840b195e4774f7c860b15f7c4ea37ef79cf48a2d Mon Sep 17 00:00:00 2001 From: test1 Date: Mon, 21 Sep 2026 15:19:18 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A9=AC=E7=9D=BF=E6=99=BA=E7=89=9B=E9=80=BC?= =?UTF-8?q?=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PythonProject/api/teacher_api.py | 42 ++++++++++++++++++++++++++ PythonProject/schema/teacher_schema.py | 1 + 2 files changed, 43 insertions(+) create mode 100644 PythonProject/api/teacher_api.py diff --git a/PythonProject/api/teacher_api.py b/PythonProject/api/teacher_api.py new file mode 100644 index 0000000..c8b553a --- /dev/null +++ b/PythonProject/api/teacher_api.py @@ -0,0 +1,42 @@ +from fastapi import APIRouter,HTTPException +from fastapi.params import Depends + +from model.teacher_model import Teacher_Model +from schema.teacher_schema import Teacher_ResponseModel, Teacher_RequestModel +from tmpl.work.util.database import get_db +from dao.teacher_dao import * + +teacher_api=APIRouter() + +@teacher_api.post("",response_model=Teacher_ResponseModel) +def add_teacher1(teacher:Teacher_RequestModel,session=Depends(get_db())): + d=teacher.model_dump() + r=add_teacher(req=d,session=session) + if not r: + raise HTTPException(status_code=500,detail='添加异常!') + return Teacher_ResponseModel(totals=1,data=d) + + +@teacher_api.get("",response_model=Teacher_ResponseModel) +def get_teacher(id:int,session=Depends(get_db)): + r = session.query(Teacher_Model).filter( Teacher_Model.teac_id == id ).all() + if r: + return [{'teac_name':i.teac_name,'teac_gender':i.teac_gender,'teac_age':i.teac_age,'teac_position':i.teac_position} for i in r] + raise HTTPException(status_code=404,detail='老师不存在!') + + +@teacher_api.put("",response_model=Teacher_ResponseModel) +def update_teacher1(id:int,teacher:Teacher_RequestModel,session=Depends(get_db)): + d=teacher.model_dump + r=update_teacher(id=id,req=d,session=session) + if not r: + raise HTTPException(status_code=500, detail='更新异常!') + return {'code': 200, 'totals': r, 'detail': '更新成功'} + + +@teacher_api.delete("",response_model=Teacher_ResponseModel) +def delete_teacher1(id:int,session=Depends(get_db)): + r=delete_teacher(id=id,session=session) + if not r: + raise HTTPException(status_code=500,detail='删除异常!') + return {'code': 200, 'totals': r} \ No newline at end of file diff --git a/PythonProject/schema/teacher_schema.py b/PythonProject/schema/teacher_schema.py index 696276b..0344fec 100644 --- a/PythonProject/schema/teacher_schema.py +++ b/PythonProject/schema/teacher_schema.py @@ -15,6 +15,7 @@ class Teacher_ResponseModel(BaseModel): detail:str='OK!' teac_name:str totals:int=0 + data:str|list|tuple|dict