from fastapi import APIRouter, Depends, HTTPException from schema.course_request import CourseRequest, CourseResponse from database import get_db from dao.course_dao import ( add_course_dao, get_all_courses_dao, get_course_by_id_dao ) course_api = APIRouter() @course_api.post('', response_model=CourseResponse, summary='添加课程') def add_course(course: CourseRequest, db=Depends(get_db)): d = course.model_dump() r = add_course_dao(o=d, db=db) if not r: raise HTTPException(status_code=500, detail='添加失败!') return CourseResponse(totals=1, data=d) @course_api.get('/{course_id}', summary='按编号查课程') def get_course(course_id: str, db=Depends(get_db)): c = get_course_by_id_dao(course_id=course_id, db=db) if not c: raise HTTPException(status_code=404, detail='课程不存在') return { 'course_id': c.course_id, 'course_name': c.course_name, 'teacher_id': c.teacher_id, }