diff --git a/PythonProject/api/grade_api.py b/PythonProject/api/grade_api.py index 4b4d6e4..5aa4f17 100644 --- a/PythonProject/api/grade_api.py +++ b/PythonProject/api/grade_api.py @@ -14,7 +14,7 @@ def get_grade(stu_id: int,db=Depends(get_db)): except Exception as e: raise HTTPException(status_code=500,detail=f'数据库查询异常:{str(e)}') -@gradeAPI.post('/{stu_id}',summary='添加学生成绩') +@gradeAPI.post('/{stu_id}',response_model=GradeResponse,summary='添加学生成绩') def post_grade(o:GradeRequest=Form(),db=Depends(get_db)): d=o.model_dump() r=add_grade_dao(g=d,db=db) @@ -22,3 +22,4 @@ def post_grade(o:GradeRequest=Form(),db=Depends(get_db)): raise HTTPException(status_code=400, detail='学生不存在') return GradeResponse + diff --git a/PythonProject/dao/grade_dao.py b/PythonProject/dao/grade_dao.py index 7a65756..0b13d41 100644 --- a/PythonProject/dao/grade_dao.py +++ b/PythonProject/dao/grade_dao.py @@ -5,8 +5,7 @@ from util.database import get_db from model.all_model import * -def get_grade_dao( stu_id:int - ,db=Depends(get_db)): +def get_grade_dao( stu_id:int , db): r1 =db.query(WlScore).filter(WlScore.stu_id == stu_id,WlScore.delete_status == 0).all() if r1: @@ -14,9 +13,9 @@ def get_grade_dao( stu_id:int else: raise HTTPException(status_code=404,detail="学生不存在") -def add_grade_dao(o,db=Depends(get_db)): +def add_grade_dao(g,db): try: - o1 = WlScore(**o) + o1 = WlScore(**g) db.add(o1) except: db.rollback() diff --git a/PythonProject/main.py b/PythonProject/main.py index af9dc5c..ad88bc9 100644 --- a/PythonProject/main.py +++ b/PythonProject/main.py @@ -1,7 +1,9 @@ from fastapi import FastAPI from api.student_api import StudentAPI from api.statistics_api import StatisticsAPI +from api.grade_api import gradeAPI app = FastAPI() app.include_router(StudentAPI) app.include_router(StatisticsAPI) +app.include_router(gradeAPI) \ No newline at end of file diff --git a/PythonProject/schema/grade_schema.py b/PythonProject/schema/grade_schema.py index 473dfc9..d1ff0ae 100644 --- a/PythonProject/schema/grade_schema.py +++ b/PythonProject/schema/grade_schema.py @@ -1,12 +1,13 @@ from model.all_model import * -from pydantic import BaseModel,Field +from pydantic import BaseModel, Field, field_validator +from fastapi import HTTPException + class GradeRequest(BaseModel): stu_id:str|None = Field(description="学生编号") exam_order:int = Field(description='考核序次') score:float = Field(description='成绩') - class GradeResponse(BaseModel): code: int = 200 detail: str = 'OK'