Просмотр исходного кода

Merge branch 'master' of http://47.100.18.120:3000/SEEC-II-DOC/API-DOC

WuXinyu 7 лет назад
Родитель
Сommit
09ea0e292a

+ 228 - 0
assignment/api/前端api接口设计.md

@@ -0,0 +1,228 @@
+# Assignment - 作业
+
+> url 前缀:/api
+
+## 创建作业
+
+```http
+post /assignment
+```
+
+### RequestBody
+
+```json
+{
+  assignmentType:作业类型,String
+  name:作业名称,String
+  description:作业描述,String
+  startAt:开始时间,timestamp
+  endAt:开始时间,timestamp
+  problem:题目,Number
+}
+```
+
+### Response
+
+```json
+{
+  "data": AssignmentVO
+}
+```
+
+see [AssignmentVO](../serializer/AssignmentVO.md)
+
+
+## 查看作业(分页)
+
+```http
+get /course/:courseId/assignment
+```
+### RequestParam
+不传值时,为获取全部
+```
+type:作业类型,String,枚举值如下
+			- CODE:编程作业
+			- DOCUMENT:文档作业
+			- REVIEW:互评作业
+			- ML:机器学习作业
+status:作业状态,String,枚举值如下
+			- PREPARING:准备中
+			- UNAVAILABLE:创建失败
+			- READY:创建成功,但是作业未到开始时间
+			- AVAILABLE:作业开放中
+			- FINISHED:作业已经结束
+page:页,Number
+num:数量,Number
+```
+
+### Response
+
+```json
+{
+  "data": List<AssignmentVO>
+}
+```
+
+see [AssignmentVO](../serializer/AssignmentVO.md)
+
+
+## 查看单个作业
+
+```http
+get /assignment/:assignmentId
+```
+### Response
+
+```json
+{
+  "data": AssignmentVO
+}
+```
+
+see [AssignmentVO](../serializer/AssignmentVO.md)
+
+
+
+## 更新作业信息
+
+```http
+post /assignment/:assignmentId
+```
+
+### RequestBody
+
+```json
+{
+  name:作业名称,String
+  description:作业描述,String
+  startAt:开始时间,timestamp
+  endAt:开始时间,timestamp
+}
+```
+
+### Response
+
+```json
+{
+  "data": AssignmentVO
+}
+```
+
+see [AssignmentVO](../serializer/AssignmentVO.md)
+
+
+## 删除作业
+
+```http
+delete /assignment/:assignmentId
+```
+
+
+# 作业记录
+
+> url 前缀:/api
+
+## 老师查看作业记录
+
+```http
+get /assignment/:assignmentId/record/teacher
+```
+
+### Response
+
+```json
+{
+  "data": List<RecordVO>
+}
+```
+
+see [RecordVO](../serializer/RecordVO.md)
+
+## 学生查看作业记录
+
+```http
+get /assignment/:assignmentId/record/student
+```
+
+### Response
+
+```json
+{
+  "data": RecordVO
+}
+```
+
+see [RecordVO](../serializer/RecordVO.md)
+
+
+## 查看作业记录
+
+```http
+get /record/:recordId
+```
+
+### Response
+
+```json
+{
+  "data": RecordVO
+}
+```
+
+see [RecordVO](../serializer/RecordVO.md)
+
+
+# 作业成绩
+
+> url 前缀:/api
+
+## 查看作业成绩
+
+```http
+get /assignment/:assignmentId/result
+```
+
+### Response
+
+```json
+{
+  "data": List<ResultVO>
+}
+```
+
+see [ResultVO](../serializer/ResultVO.md)
+
+
+## 查看一个作业记录的成绩
+
+```http
+get /record/:recordId/result
+```
+
+### Response
+
+```json
+{
+  "data": ResultVO
+}
+```
+
+see [ResultVO](../serializer/ResultVO.md)
+
+
+## 查看成绩
+
+```http
+get /result/:resultId
+```
+
+### Response
+
+```json
+{
+  "data": ResultVO
+}
+```
+
+see [ResultVO](../serializer/ResultVO.md)
+

+ 23 - 0
assignment/serializer/AssignmentVO.md

@@ -0,0 +1,23 @@
+# AssignmentVO
+- 团队作业
+- 属性:
+	- id:作业编号,Number
+	- name:作业名称,String
+	- description:作业描述,String
+	- status:作业状态,String
+		- PREPARING:准备中
+		- UNAVAILABLE:创建失败
+		- READY:创建成功,但是作业未到开始时间
+		- AVAILABLE:作业开放中
+		- FINISHED:作业已经结束
+	- createAt:创建时间,timestamp(秒)
+	- startAt:开始时间,timestamp
+	- endAt:结束时间,timestamp
+	- type:作业类型,String,枚举值如下
+		- CODE:编程作业
+		- DOCUMENT:文档作业
+		- REVIEW:互评作业
+		- ML:机器学习作业
+	- problem:作业题目,NestProblemVO
+		- name: 题目名称,String
+		- description: 题目描述,String

+ 9 - 0
assignment/serializer/RecordVO.md

@@ -0,0 +1,9 @@
+# RecordVO
+- 作业记录
+- 属性:
+	- id:记录编号,Number
+	- assignment:所属作业,NestAssignmentVO
+		- id:编号,Number
+		- name: 作业名称,String
+	- group:所属组,String
+	- url:作业项目地址,String

+ 17 - 0
assignment/serializer/ResultVO.md

@@ -0,0 +1,17 @@
+# ResultVO
+- 作业成绩
+- 属性:
+	- id:成绩编号,Number
+	- assignment:所属作业,Number
+	- record:所属记录,Number
+	- score:总分,Number
+	- detail:细分分数,```List<ScoreVO>```
+
+
+# ScoreVO
+- 成绩条目
+- 属性:
+	- id:条目编号
+	- name:条目名称
+	- score:得分
+	- detail:细分分数,```List<ScoreVO>```,没有细分时,该项为null

+ 3 - 1
prefix.md

@@ -5,10 +5,12 @@
 | 修改人 | 修改内容 | 修改时间   |
 | 修改人 | 修改内容 | 修改时间   |
 | ------ | -------- | ---------- |
 | ------ | -------- | ---------- |
 | 吴新宇 | 创建     | 2018/12/18 |
 | 吴新宇 | 创建     | 2018/12/18 |
+| 周玮璐 | 新增题目前缀     | 2018/12/20 |
 
 
 ## 前缀列表
 ## 前缀列表
 
 
 - [course](course/api/Course-课程.md)
 - [course](course/api/Course-课程.md)
 - [group](course/api/Group-小组.md)
 - [group](course/api/Group-小组.md)
 - [auth](user/api/Auth-权限.md)
 - [auth](user/api/Auth-权限.md)
-- [user](user/api/User-用户.md)
+- [user](user/api/User-用户.md)
+- [problem](prolem/api/Problem-题目.md)

+ 10 - 0
problem/README.md

@@ -0,0 +1,10 @@
+### 负责人
+
+- 【后端】曹姝玥
+- 【前端】周玮璐
+
+### 修改记录
+
+| 修改人 | 修改内容  | 修改时间   |
+| ------ | --------- | ---------- |
+| 周玮璐 | 初始化api | 2018/12/19 |

+ 187 - 0
problem/api/Problem-题目.md

@@ -0,0 +1,187 @@
+# Problem - 题目
+
+> url 前缀:**problem**
+>
+> 示例:**https://xxxxxxxxx/api/problems/xxxx**
+
+## 获取全部题目分类
+
+[TEACHER]
+
+```http
+get /teacher
+```
+
+### Response
+
+```json
+{
+  "data": Array<String>
+}
+```
+- data: 数组形式返回所有题目分类
+
+## 按题目分类获得题目(分页)
+
+[TEACHER]
+
+```http
+post /teacher/{assignmenttype}/problems
+```
+
+### Parameters
+
+```json
+{
+  "type": string,  
+  "page": number,
+  "num": number,
+}
+```
+- type: 题目分类
+- pageIndex: 当前页数
+- pageNum: 一页的题目数量
+
+### Response
+
+```json
+{
+  "data": Array<ProblemSerializer>
+}
+```
+
+see [ProblemSerializer](../serializer/ProblemSerializer.md)
+
+## 根据关键字进行模糊查找
+
+[TEACHER]
+
+```http
+post /teacher
+```
+### Parameters
+
+```json
+//关键字模糊搜索是否分页?
+{
+  "keyword": string,
+  "type": string,
+}
+```
+- type: 题目分类
+- keyword: 关键字
+- pageNum: 一页的题目数量
+
+### Response
+
+```json
+{
+  "data": Array<ProblemSerializer>
+}
+```
+
+see [ProblemSerializer](../serializer/ProblemSerializer.md)
+
+## 查看单个题目
+
+[TEACHER]
+
+```http
+post /teacher
+```
+
+###Parameters
+
+```json
+{
+  "id": number,
+}
+```
+
+### Response
+```json
+{
+  "data": ProblemSerializer,
+}
+```
+see [ProblemSerializer](../serializer/ProblemSerializer.md)
+
+
+***
+# 以下为二期开发内容
+
+## 上传单个题目
+
+[TEACHER]
+
+```http
+post /teacher
+```
+###Parameters
+
+```json
+{
+  "data": ProblemSerializer,
+}  
+```
+
+###Response
+
+```json
+{
+  "id": number,
+}
+```
+
+see [ProblemSerializer](../serializer/ProblemSerializer.md)
+
+## 更新题目
+
+[TEACHER]
+
+```http
+post /teacher/{problemId}/updateProblem
+```
+###Parameters
+
+```json
+{
+  "data": ProblemSerializer,
+}  
+```
+
+###Response
+
+```json
+{
+  "msg": string,
+}
+```
+
+see [ProblemSerializer](../serializer/ProblemSerializer.md)
+
+## 删除题目
+
+[TEACHER]
+
+```http
+post /teacher/{problemId}/delete
+```
+
+## 更新文件
+
+[TEACHER]
+
+```http
+post /teacher/{problemId}/updatefile
+```
+
+###Parameters
+
+```json
+{
+  "data": FileSerializer,
+}
+```
+
+see [FileSerializer](../serializer/FileSerializer.md)

+ 9 - 0
problem/serializer/FileSerializer.md

@@ -0,0 +1,9 @@
+# FileSerializer
+
+文件的基本信息
+
+## Attributes
+- filename: **String**, 文件名
+- content:  **byte[]**, 文件内容
+- uploader: **Long**, 上传者ID
+- size: **long**, 文件大小

+ 12 - 0
problem/serializer/ProblemSerializer.md

@@ -0,0 +1,12 @@
+# ProblemSerializer
+
+题目的基本信息
+
+## Attributes
+- AssignmentType : **enum** - 题目所属作业类型
+- type: **enm** - 题目类型
+- name: **String** - 题目名称
+- description: **String - 题目描述
+- creator: **Long** - 创建者ID
+- file:
+[**FileSerializer**](./FileSerializer.md) - 文件信息