课程与原课程接口 ================ “原”课程 ^^^^^^^^^ 原课程”指的是抽象的某一门课程,有同一个课程名及课程代码,不区分授课教师、上课年级。 如:不同上课班级、不同授课教师的《毛概》课都是同一个《毛概》原课程。 而本科学生上的《高等数学A》与专科学生上的《高等数学B》不是同一个原课程。 新增原课程 ---------- 请求地址:: v1.0/raw_courses/ 接口描述 新增原课程 请求类型 HTTP POST 权限要求 Permission.CREATE 请求参数Json:: { "name": "课程名", "nickname": "课程昵称", "worth": "1" } 请求Json字段解释 +-------------+------+------+----------+ | 参数名 | 类型 | 必选 | 描述 | +=============+======+======+==========+ | name | str | Y | 课程名称 | +-------------+------+------+----------+ | course_code | str | N | 课程代码 | +-------------+------+------+----------+ | nickname | str | N | 课程昵称 | +-------------+------+------+----------+ | worth | str | N | 学分 | +-------------+------+------+----------+ 正确时返回Json 原课程Json :ref:`raw_course_json` 获取所有原课程 -------------- 请求地址:: v1.0/raw_courses/ 接口描述 获取所有原课程 请求类型 HTTP GET 正确返回Json:: { "raw_courses": [ { "course_code": "1", "id": 1, "name": "计算机网络", "nickname": null, "url": "http://127.0.0.1:5000/api/v1.0/raw_courses/1", "worth": "11" } ] } +-------------+----------+------+-----------------------------------------------+ | 字段名 | 字段说明 | 类型 | 注释 | +=============+==========+======+===============================================+ | raw_courses | 原课程 | 列表 | 列表中节点为原课程Json :ref:`raw_course_json` | +-------------+----------+------+-----------------------------------------------+ 通过原课程id获取原课程 ---------------------- 请求地址:: v1.0/raw_courses/ 接口描述 获取指定id的原课程 请求类型 HTTP GET 请求参数 +---------------+------+------+----------+ | 参数名 | 类型 | 必选 | 描述 | +===============+======+======+==========+ | raw_course_id | int | Y | 原课程id | +---------------+------+------+----------+ 正确返回Json 原课程Json :ref:`raw_course_json` 具体课程 ^^^^^^^^ 有别于“原课程”,具体课程指的是一段时间中,由确定教师担任授课教师、上课班级固定的课程。 如:14计本1、14计本2、14物联网本1、14物联网本2四个班级一起上课的,由张老师上课的《毛概》与14会计系,由王老师上课的《毛概》是同一个原课程“毛概”,但不是同一个具体课程。 新增课程 ---------- 请求地址:: v1.0/courses/ 接口描述 新增课程 请求类型 HTTP POST 权限要求 Permission.CREATE 请求参数Json:: { "where": "北校区", "which_room": "A305", "week": [1, 2, 3, 4, 5], "week_raw": "[1-5]", "when_code": "011", "parity": "单周", "raw_course_id": 1, "teacher_id": 1, "classes": [41402061, 41402062] } 请求Json字段解释 +---------------+----------------------+-----------+------+--------------------------------------------------------------------+ | 字段名 | 字段说明 | 类型 | 必要 | 备注 | +===============+======================+===========+======+====================================================================+ | parity | 单双周 | string | N | "单周" "双周" 或null 默认null即不区分单双周 | +---------------+----------------------+-----------+------+--------------------------------------------------------------------+ | classes | 上课班级 | list(int) | Y | 哪些班级上课 列表内应为班级的id | +---------------+----------------------+-----------+------+--------------------------------------------------------------------+ | teacher_id | 教师id | int | Y | | +---------------+----------------------+-----------+------+--------------------------------------------------------------------+ | raw_course_id | 原课程id | int | Y | | +---------------+----------------------+-----------+------+--------------------------------------------------------------------+ | week | 解析后的上课周次信息 | 列表 | Y | 列表内为数字 | +---------------+----------------------+-----------+------+--------------------------------------------------------------------+ | week_raw | 未解析的上课周次信息 | string | N | 如1-7代表1到7周, | +---------------+----------------------+-----------+------+--------------------------------------------------------------------+ | when_code | 上课时间信息 | string | Y | 三位数字,第一位为0, 第二位星期几, 第三位第几节 如044代表周四第四节 | +---------------+----------------------+-----------+------+--------------------------------------------------------------------+ | where | 上课位置 | string | N | | +---------------+----------------------+-----------+------+--------------------------------------------------------------------+ | which_room | 上课教室 | string | N | 如:A305 | +---------------+----------------------+-----------+------+--------------------------------------------------------------------+ 正确时返回Json 课程Json :ref:`course_json` 获取所有课程 -------------- 请求地址:: v1.0/courses/ 接口描述 获取所有课程 请求类型 HTTP GET 正确返回Json:: { "courses": [ { "id": 1, "name": "计算机网络", "nickname": null, "parity": "单周", "raw_course_id": 1, "teacher": null, "teacher_id": 1, "url": "http://127.0.0.1:5000/api/v1.0/courses/1", "week": [ 1, 2, 3, 4, 5 ], "week_raw": "[1-5]", "when_code": "011", "where": "北校区", "which_room": "A305", "classes": [ 41402061, 41402062 ] }, { ... } ] } +---------+----------+------+-----------------------------------------+ | 字段名 | 字段说明 | 类型 | 注释 | +=========+==========+======+=========================================+ | courses | 课程 | 列表 | 列表中节点为课程Json :ref:`course_json` | +---------+----------+------+-----------------------------------------+ 通过课程id获取课程 ---------------------- 请求地址:: v1.0/courses/ 接口描述 获取指定id课程 请求类型 HTTP GET 请求参数 +-----------+------+------+--------+ | 参数名 | 类型 | 必选 | 描述 | +===========+======+======+========+ | course_id | int | Y | 课程id | +-----------+------+------+--------+ 正确返回Json示例:: { "id": 2, "name": "计算机网络", "nickname": null, "parity": "单周", "raw_course_id": 1, "teacher": null, "teacher_id": 1, "url": "http://127.0.0.1:5000/api/v1.0/courses/2", "week": [ 1, 2, 3, 4, 5 ], "week_raw": "[1-5]", "when_code": "011", "where": "北校区", "which_room": "A305", "classes": [ 41402061, 41402062 ] } 详见课程Json :ref:`course_json` 有关课程 -------- 请求地址:: v1.0/courses/in-charge 接口描述 获取指定id课程 请求类型 HTTP GET 请求参数 +-----------+------+------+--------+ | 参数名 | 类型 | 必选 | 描述 | +===========+======+======+========+ | course_id | int | Y | 课程id | +-----------+------+------+--------+ 正确返回Json示例::