Files
SST/PythonProject/api/grade_api.py
T

26 lines
885 B
Python
Raw Normal View History

2026-09-21 16:28:55 +08:00
from fastapi import APIRouter,Depends,HTTPException,Path,Form
2026-09-21 12:24:56 +08:00
from util.database import get_db
2026-09-21 14:44:11 +08:00
from model.all_model import Student_Model
2026-09-21 14:18:38 +08:00
from dao.grade_dao import *
2026-09-21 16:28:55 +08:00
from schema.grade_schema import *
2026-09-21 12:24:56 +08:00
2026-09-21 14:18:38 +08:00
gradeAPI = APIRouter(tags=['学生考核成绩'])
2026-09-21 12:24:56 +08:00
2026-09-21 14:18:38 +08:00
@gradeAPI.get("/grade/{stu_id}",summary="根据学生id查询成绩")
def get_grade(stu_id: int,db=Depends(get_db)):
try:
res=get_grade_dao(stu_id,db)
return {'code': 200,'msg':'查询成功','data':res}
except Exception as e:
raise HTTPException(status_code=500,detail=f'数据库查询异常:{str(e)}')
2026-09-21 16:28:55 +08:00
2026-09-21 16:53:39 +08:00
@gradeAPI.post('/{stu_id}',response_model=GradeResponse,summary='添加学生成绩')
2026-09-21 16:28:55 +08:00
def post_grade(o:GradeRequest=Form(),db=Depends(get_db)):
d=o.model_dump()
r=add_grade_dao(g=d,db=db)
if not r:
raise HTTPException(status_code=400, detail='学生不存在')
2026-09-21 17:08:46 +08:00
return o
2026-09-21 16:28:55 +08:00
2026-09-21 16:53:39 +08:00