班级作业管理系统——API列表
作业网站API列表
# login
# 1. 登录功能
- 请求方式:POST
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
username | 用户名 | string |
password | 密码 | string |
- 返回参数
参数 | 说明 | 类型 |
---|---|---|
id | 用户id | int |
username | 用户名 | string |
name | 姓名 | string |
电子邮件 | string | |
status | 用户身份 | int |
created_at | 创建时间 | time |
last_login | 上次登录时间 | time |
# user
# 1. 注册功能
- 请求方式:POST
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
username | 用户名 | string |
student_no | 学号 | string |
password | 密码 | string |
name | 用户姓名 | string |
电子邮件 | string |
- 返回参数
无参数
# 2. 查询我的信息
- 请求方式:GET
- 请求参数:
无参数
- 返回参数:
# 3. 修改我的信息功能
- 请求方式:PUT
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
name | 用户姓名 | string |
username | 用户名 | string |
- 返回参数:
无参数
# reset-password
# 1. 重置密码功能
- 请求方式:POST
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
username | 用户名 | string |
validation | 验证码(与管理员协商) | string |
password | 新密码 | string |
- 返回参数:
无参数
# logout
# 1. 登出功能
- 请求方式:GET
- 请求参数: 无参数
- 返回参数: 无参数
# group
# 1. 增加一个小组
- 请求方式:POST
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
name | 小组名 | string |
password | 小组加入密码 | string |
desc | 小组描述(选填) | string |
allowCreate | 是否允许成员创建作业 | bool |
- 返回参数
参数 | 说明 | 类型 |
---|---|---|
无名称,请直接读取data | 创建的小组的ID | int |
# 2. 删除一个小组
- 请求方式:DELETE
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
groupID | 删除的小组的id | int |
- 返回参数: 无参数
# 3. 查询一个小组(按照时间逆序,最新的在最前面)
- 请求方式:GET
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
groupID | 查询的小组的id | int |
- 返回参数:
较为复杂,请见如下实例:
{
"id": 3, //小组id
"name": "test2", //小组名称
"desc": "testdesc", //小组描述
"CreatedAt": "2022-03-23T14:38:48.084+08:00", //创建时间
"OwnerID": 1, // 创建者id
"owner": {
"id": 1, //创建者id
"name": "test", //创建者姓名
},
"allowCreate":true // 是否允许成员创建作业
"members": [//成员列表
{
"id": 1, //成员id
"name": "test", //成员名称
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
注意
您实际测试中可能发现还返回了文档之外的其他字段,但请不要使用他们,我们不保证这些字段有效,也不保证在后续仍然保留
# 4. 修改小组
提示
请求的时候url需要带上groupID=要更新的小组id
- 请求方式:PUT
- 请求参数:同新增小组,可以有缺少的参数
- 返回参数:无参数
# group-created-num
# 1. 查询自己创建小组的数量(用于分页等)
请求方式:GET
请求参数:无参数
返回参数:
名称 | 说明 | 类型 |
---|---|---|
无名称,请直接读取data | 创建的小组数量 | int |
# group-created
# 1. 查询自己创建的小组(按照时间逆序,最新的在最前面)
- 请求方式:GET
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
start | 起始位置 | int |
end | 结束位置 | int |
注意
最多一次查询100条数据
- 返回参数:
[ //返回值为一个小组列表
{
"id": 3, //小组id
"name": "test2", //小组名称
"desc": "testdesc", //小组描述
"CreatedAt": "2022-03-23T14:38:48.084+08:00",//创建时间
},
{
"id": 5,
"name": "test3",
"desc": "testdesc",
"CreatedAt": "2022-03-23T15:35:56.223+08:00",
}
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# group-member
# 1. 加入小组
- 请求方式:POST
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
groupID | 加入的小组的id | int |
password | 加入的小组的密码 | string |
- 返回参数:无参数
# 2. 退出小组
- 请求方式:DELETE
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
groupID | 退出的小组的id | int |
- 返回参数:无参数
# group-joined-num
# 1. 查询自己加入的小组的数量(用于分页等)
请求方式:GET
请求参数:无参数
返回参数:
名称 | 说明 | 类型 |
---|---|---|
无名称,请直接读取data | 创建的小组数量 | int |
# group-joined
# 1. 查询自己加入的小组功能(按照时间逆序,最新的在最前面)
- 请求方式:GET
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
start | 起始位置 | int |
end | 结束位置 | int |
注意
最多一次查询100条数据
- 返回参数:
[//小组列表
{
"id": 3,//小组id
"name": "test2", //小组名称
"desc": "testdesc",//小组描述
"CreatedAt": "2022-03-23T14:38:48.084+08:00",//创建时间
"OwnerID": 1, //创建者id
"owner": {
"id": 1, // 创建者id
"name": "test", //创建者姓名
}
}
]
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# homework
# 1. 添加作业
- 请求方式:POST
- 请求参数
参数 | 说明 | 类型 |
---|---|---|
name | 作业名称 | string |
desc | 作业描述 | string |
subject | 作业所属科目 | string |
endtime | 作业截至时间 | string,符合rfc3399标准 |
canSubmitAfterEnd | 结束后仍然可以提交 | bool |
groupID | 参加作业的小组 | int |
type | 提交类型 | string |
提示
rfc3339标准实例:UTC+8时区的2022年3月27号,1:27:00表示为"2022-03-27T01:27:00+08:00",详情rfc3399 (opens new window)
- 返回参数:
参数 | 说明 | 类型 |
---|---|---|
无名称,请直接读取data | 创建的作业的ID | int |
# 2. 查询作业
- 请求方式:GET
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
homeworkID | 查询作业的ID | int |
- 返回参数:
{
"id": 3,//作业id
"name": "testwork",//作业名称
"desc": "test work desc",//作业描述
"subject": "test subject",//所属科目
"CreatedAt": "2022-03-27T00:11:45.728+08:00",//创建时间
"endtime": "0001-01-01T00:00:00Z",//结束时间
"CanSubmitAfterEnd": false,//允许在结束后提交
"GroupID": 1,//参与小组id
"type":"pdf",//提交类型
"owner": {
"id": 1, //创建者id
"name": "test",//创建者姓名
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 3. 删除作业
- 请求方式:DELETE
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
homeworkID | 删除的作业的ID | int |
- 返回参数:无参数
# 4. 修改作业
提示
请求的时候url需要带上homeworkID=要更新的作业id
- 请求方式:PUT
- 请求参数:同新增作业,参与小组不可更改,可以有缺少的参数
- 返回参数:无参数
# homework-created-num
# 1. 查询自己创建的作业的数量(用于分页等)
请求方式:GET
请求参数:无参数
返回参数:
名称 | 说明 | 类型 |
---|---|---|
无名称,请直接读取data | 创建的小组数量 | int |
# homework-created
# 1. 查询自己创建的作业(按照时间逆序,最新的在最前面)
- 请求方式:GET
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
start | 起始位置 | int |
end | 结束位置 | int |
注意
最多一次查询100条数据
- 返回参数:
[ //创建的作业列表
{
"id": 3,//作业id
"name": "testwork",//作业名称
"desc": "test work desc",//作业描述
"subject": "test subject",//所属科目
"CreatedAt": "2022-03-27T00:11:45.728+08:00",//创建时间
"endtime": "2022-03-27T15:00:00+08:00",//结束时间
"CanSubmitAfterEnd": false,//允许在结束后提交
"GroupID": 1,//参与小组id
}
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# submissions
# 1. 查询单个作业的完成情况
- 请求方式:GET
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
homeworkID | 要查询的作业的id | int |
- 返回参数:
[ //提交列表
{
"id": 1, //提交id
"CreatedAt": "2022-03-27T15:20:26.429+08:00", //创建时间(非提交时间),指的是何时加入该作业
"HomeworkID": 18, //所属作业ID
"owner": {
"id": 1,//提交者ID
"name": "test", //提交者姓名
},
"FileName": "", //提交的文件名
"Finish": false //是否已经完成
}
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# submission-file
# 1. 下载提交的文件
- 请求方式:GET
- 请求参数
参数 | 说明 | 类型 |
---|---|---|
submissionID | 要下载的提交id | int |
homeworkID | 要下载的作业id | int |
提示
二者取其一即可,两者都填写时只有submission有效
- 返回参数:
参数 | 说明 | 类型 |
---|---|---|
token | 下载文件token | string |
# homework-joined-num
请求方式:GET
请求参数:无参数
返回参数:
名称 | 说明 | 类型 |
---|---|---|
无名称,请直接读取data | 创建的小组数量 | int |
# homework-joined(按照时间逆序,最新的在最前面)
- 查询自己参加的作业
- 请求方式:GET
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
start | 起始位置 | int |
end | 结束位置 | int |
注意
最多一次查询100条数据
- 返回参数:
[//加入的作业列表
{
"CanSubmitAfterEnd": true,
"CreatedAt": "2022-03-27T15:20:26.295+08:00",//创建时间
"Desc": "test work desc",//作业描述
"EndTime": "2022-03-27T15:00:00+08:00",//结束时间
"Finished": false,//是否已经完成
"ID": 18,//作业id
"Name": "testwork",//作业名称
"Owner": {
"ID": 1, //创建人ID
"Name": "test" //创建人姓名
},
"Subject": "test subject"//所属科目
}
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# homework-not-finished(按照截至时间逆序,最新的在最前面)
- 查询自己参加的还没有完成的作业
- 请求方式:GET
- 请求参数:同homework-joined
- 返回参数:同homework-joined
# homework-not-finished-num
- 查询自己参加的还没有完成的作业的数量
- 请求方式:GET
- 请求参数:无参数
- 返回参数:
名称 | 说明 | 类型 |
---|---|---|
无名称,请直接读取data | 未完成的作业的数量 | int |
# submit?homeworkID=1
- 提交作业
提示
请求的时候url需要带上homeworkID=要提交的作业id
- 请求方式:POST
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
file | 提交的文件 | file |
- 返回参数:无参数
# export
- 请求方式:GET
- 请求参数
参数 | 说明 | 类型 |
---|---|---|
homeworkID | 要导出的作业id | int |
提示
有关导出的说明,请参考导出文件
- 返回参数:
参数 | 说明 | 类型 |
---|---|---|
done | 是否打包完成 | bool |
token | 下载文件的token(只有在done为true时有效) | string |
# download
- 下载文件
- 请求方式:GET
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
token | 下载文件的token | string |
- 返回参数:
直接返回二进制文件。
# config
- 查询配置文件
- 请求方式:GET
- 请求参数:无参数,会根据登录用户的身份返回对应的配置文件
- 返回参数:
参数 | 说明 | 类型 |
---|---|---|
config | 配置文件 | string |
- 更新配置文件
- 请求方式:PUT
- 请求参数:
参数 | 说明 | 类型 |
---|---|---|
config | 配置文件 | string |
- 返回参数:无参数
提示
用户在注册的时候会自动创建空白的配置文件,因此不需要手动创建
编辑 (opens new window)
上次更新: 2024/12/04, 16:28:16