课程与原课程接口

“原”课程

原课程”指的是抽象的某一门课程,有同一个课程名及课程代码,不区分授课教师、上课年级。

如:不同上课班级、不同授课教师的《毛概》课都是同一个《毛概》原课程。 而本科学生上的《高等数学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 原课程

获取所有原课程

请求地址:

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 原课程

通过原课程id获取原课程

请求地址:

v1.0/raw_courses/<raw_course_id>

接口描述

获取指定id的原课程

请求类型

HTTP GET

请求参数

参数名 类型 必选 描述
raw_course_id int Y 原课程id

正确返回Json

原课程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 课程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 课程json

通过课程id获取课程

请求地址:

v1.0/courses/<course_id>

接口描述

获取指定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 课程json

有关课程

请求地址:

v1.0/courses/in-charge

接口描述

获取指定id课程

请求类型

HTTP GET

请求参数

参数名 类型 必选 描述
course_id int Y 课程id

正确返回Json示例: