基础框架内容已经搭建完毕,剩余外键还未链接。

This commit is contained in:
Orangeeee
2026-09-21 12:20:53 +08:00
parent 1f4fa614e5
commit e9507fef26
4 changed files with 144 additions and 63 deletions
+24 -20
View File
@@ -8,52 +8,56 @@ from students.databases import *
students_api = APIRouter()
@students_api.get("/students/"
@students_api.get("/students"
,summary='学生资料查询'
,description='筛选条件全为空即查询所有学生资料,输入薪资会查询大于输入薪资以上的学生'
,response_model=StudentsQuery
,response_model=list[StudentsQuery]
)
def get_students( stu:StudentsQuery = Depends()
, db=Depends(get_db)
):
s_dick = stu.model_dump(exclude_unset=True)
result = get_student_dao( s=s_dick , db=db )
s_dict = stu.model_dump(exclude_unset=True) # 没值的不要
result = get_student_dao( s=s_dict , db=db )
if result:
return result
raise HTTPException(status_code=404, detail="没有找到符合条件的学生")
@students_api.post("/students/"
@students_api.post("/students"
,summary='新增学生资料'
,description='学生ID自动分配,学生姓名和班级是必填项'
,description='学生ID自动分配,学生姓名、学生手机号和班级是必填项,不能为空。'
,response_model=StudentsResponse )
def add_student( stu:StudentsResponse = Depends()
, db=Depends(get_db)
):
s_dick = stu.model_dump()
result = add_student_dao( s=s_dick , db=db )
s_dict = stu.model_dump(exclude_unset=True)
result = add_student_dao( s=s_dict , db=db )
if not result:
raise HTTPException(status_code=500, detail='服务器繁忙或用户不存在!')
raise HTTPException(status_code=500, detail='手机号已有学生使用或必填项为空。')
return result
@students_api.put("/students/"
@students_api.put("/students"
,summary='学生资料更新'
,description='填写即更新,全为空即不更新,学生ID无法修改'
,description='请输入需要更新信息的学生ID,学生手机号不可重复,填写即更新,为空即不更新。'
,response_model=StudentsUpdate )
def get_students( stu:StudentsUpdate = Depends()
, db=Depends(get_db)
):
s_dick = stu.model_dump()
s_dict = stu.model_dump(exclude_unset=True)
result = update_student_dao( s=s_dict , db=db )
if not result:
raise HTTPException(status_code=500, detail='手机号已有学生使用。')
return result
return '学生资料已更新'
@students_api.delete("/students/"
@students_api.delete("/students"
,summary='删除学生资料'
,description='输入需要删除的学生ID'
,response_model=StudentsDelete ) # 逻辑删除/软删除
,description='输入需要删除的学生信息,工资筛选能删除大于等于输入工资的所有人。'
,response_model=list[StudentsDelete] ) # 逻辑删除/软删除
def delete_students( stu:StudentsDelete = Depends()
, db=Depends(get_db)
):
s_dick = stu.model_dump()
return '学生已删除'
s_dict = stu.model_dump(exclude_unset=True)
result = add_student_dao(s=s_dict, db=db)
if not result:
raise HTTPException(status_code=500, detail='手机号已有学生使用。')
return result