Appearance
14_Class_API
本文档描述班级(Classes)相关接口,接口实现见 app/api/classes.py。
概览
- 资源:
classes(成员、教师子资源) - 权限(简要):
- 学校管理员:管理本校班级;可创建班级、指派/移除教师、添加/移除成员
- 老师:仅能在自己任教的班级查看成员/添加成员(受限)
1. 班级管理
- POST
/schools/{school_id}/classes(201)- 权限:学校管理员(本校)/平台管理员
- 入参:
ClassCreate { name, edu_year? } - 响应:
ClassOut { id, school_id, name, edu_year, created_at }
2. 班级成员
GET
/classes/{class_id}/members- 权限:任教老师/学校管理员/平台管理员
- 响应:
UserOut[]
POST
/classes/{class_id}/members- 权限:任教老师(本班)/学校管理员(本校)/平台管理员
- 入参:
ClassMemberAdd { user_ids?[], username_list?[] } - 响应:
{ message, added_user_ids[] }
DELETE
/classes/{class_id}/members/{user_id}(204)- 权限:任教老师(本班)/学校管理员(本校)/平台管理员
3. 班级教师
GET
/classes/{class_id}/teachers- 权限:任教老师/学校管理员/平台管理员
- 响应:
UserOut[]
POST
/classes/{class_id}/teachers- 权限:学校管理员/平台管理员
- 入参:
ClassTeacherAssign { teacher_id, role } - 响应:
{ message, teacher_id }
DELETE
/classes/{class_id}/teachers/{teacher_id}(204)- 权限:学校管理员/平台管理员
4. 数据模型(节选)
ClassCreate:name, edu_year?ClassOut:id, school_id, name, edu_year, created_atClassMemberAdd:user_ids?[], username_list?[]ClassTeacherAssign:teacher_id, role
5. 变更说明
- 原
09_User_Management_API.md中的班级相关接口已迁移至本文档;旧文档中保留了迁移提示。