PeaceSheep's blog PeaceSheep's blog
首页
  • 分类
  • 标签
  • 归档
相关链接
提建议&咨询&赞赏
GitHub (opens new window)

PeaceSheep

以最简洁、易懂的话解决问题
首页
  • 分类
  • 标签
  • 归档
相关链接
提建议&咨询&赞赏
GitHub (opens new window)
  • 下载器

  • 作业网站管理

    • 班级作业管理系统——整体设计思路
    • 班级作业管理系统——API列表
      • login
        • 1. 登录功能
      • user
        • 1. 注册功能
        • 2. 查询我的信息
        • 3. 修改我的信息功能
      • reset-password
        • 1. 重置密码功能
      • logout
        • 1. 登出功能
      • group
        • 1. 增加一个小组
        • 2. 删除一个小组
        • 3. 查询一个小组(按照时间逆序,最新的在最前面)
        • 4. 修改小组
      • group-created-num
        • 1. 查询自己创建小组的数量(用于分页等)
      • group-created
        • 1. 查询自己创建的小组(按照时间逆序,最新的在最前面)
      • group-member
        • 1. 加入小组
        • 2. 退出小组
      • group-joined-num
        • 1. 查询自己加入的小组的数量(用于分页等)
      • group-joined
        • 1. 查询自己加入的小组功能(按照时间逆序,最新的在最前面)
      • homework
        • 1. 添加作业
        • 2. 查询作业
        • 3. 删除作业
        • 4. 修改作业
      • homework-created-num
        • 1. 查询自己创建的作业的数量(用于分页等)
      • homework-created
        • 1. 查询自己创建的作业(按照时间逆序,最新的在最前面)
      • submissions
        • 1. 查询单个作业的完成情况
      • submission-file
        • 1. 下载提交的文件
      • homework-joined-num
      • homework-joined(按照时间逆序,最新的在最前面)
      • homework-not-finished(按照逆序,最新的在最前面)
      • homework-not-finished-num
      • submit?homeworkID=1
      • export
      • download
      • config
    • 班级作业管理系统——模型设计
    • 班级作业管理系统——导出功能设计
    • 班级作业管理系统——完结篇
    • 班级作业管理系统——使用说明书
  • 联邦学习

  • 随手写的小项目

  • docker

  • 即时通讯

  • 项目
  • 作业网站管理
PeaceSheep
2022-03-25
目录

班级作业管理系统——API列表

作业网站API列表

# login

# 1. 登录功能

  • 请求方式:POST
  • 请求参数:
参数 说明 类型
username 用户名 string
password 密码 string
  • 返回参数
参数 说明 类型
id 用户id int
username 用户名 string
name 姓名 string
email 电子邮件 string
status 用户身份 int
created_at 创建时间 time
last_login 上次登录时间 time

# user

# 1. 注册功能

  • 请求方式:POST
  • 请求参数:
参数 说明 类型
username 用户名 string
student_no 学号 string
password 密码 string
name 用户姓名 string
email 电子邮件 string
  • 返回参数

无参数

# 2. 查询我的信息

  • 请求方式:GET
  • 请求参数:

无参数

  • 返回参数:

同login

# 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

注意

您实际测试中可能发现还返回了文档之外的其他字段,但请不要使用他们,我们不保证这些字段有效,也不保证在后续仍然保留

# 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

# 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

# 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

# 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

# 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

# submission-file

# 1. 下载提交的文件

  • 请求方式:GET
  • 请求参数
参数 说明 类型
submissionID 要下载的提交id int
homeworkID 要下载的作业id int

提示

二者取其一即可,两者都填写时只有submission有效

  • 返回参数:
参数 说明 类型
token 下载文件token string

# homework-joined-num

  • 请求方式:GET

  • 请求参数:无参数

  • 返回参数:

名称 说明 类型
无名称,请直接读取data 创建的小组数量 int

# homework-joined(按照时间逆序,最新的在最前面)

  1. 查询自己参加的作业
  • 请求方式: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

# homework-not-finished(按照截至时间逆序,最新的在最前面)

  1. 查询自己参加的还没有完成的作业
  • 请求方式:GET
  • 请求参数:同homework-joined
  • 返回参数:同homework-joined

# homework-not-finished-num

  1. 查询自己参加的还没有完成的作业的数量
  • 请求方式:GET
  • 请求参数:无参数
  • 返回参数:
名称 说明 类型
无名称,请直接读取data 未完成的作业的数量 int

# submit?homeworkID=1

  1. 提交作业

提示

请求的时候url需要带上homeworkID=要提交的作业id

  • 请求方式:POST
  • 请求参数:
参数 说明 类型
file 提交的文件 file
  • 返回参数:无参数

# export

  • 请求方式:GET
  • 请求参数
参数 说明 类型
homeworkID 要导出的作业id int

提示

有关导出的说明,请参考导出文件

  • 返回参数:
参数 说明 类型
done 是否打包完成 bool
token 下载文件的token(只有在done为true时有效) string

# download

  1. 下载文件
  • 请求方式:GET
  • 请求参数:
参数 说明 类型
token 下载文件的token string
  • 返回参数:

直接返回二进制文件。

# config

  1. 查询配置文件
  • 请求方式:GET
  • 请求参数:无参数,会根据登录用户的身份返回对应的配置文件
  • 返回参数:
参数 说明 类型
config 配置文件 string
  1. 更新配置文件
  • 请求方式:PUT
  • 请求参数:
参数 说明 类型
config 配置文件 string
  • 返回参数:无参数

提示

用户在注册的时候会自动创建空白的配置文件,因此不需要手动创建

编辑 (opens new window)
#Go
上次更新: 2025/04/15, 10:52:45
班级作业管理系统——整体设计思路
班级作业管理系统——模型设计

← 班级作业管理系统——整体设计思路 班级作业管理系统——模型设计→

最近更新
01
ubuntu安装g++显示已有但是输入g++又找不到命令
04-15
02
使用cloudflare-r2搭建webdav
04-08
03
LLM聚合平台客户端对比
03-29
更多文章>
Theme by Vdoing | Copyright © 2022-2025 PeaceSheep
冀ICP备2022004632号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式