Explorar o código

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

Bay %!s(int64=7) %!d(string=hai) anos
pai
achega
7b2d1f4e7e

+ 12 - 0
assignment/README.md

@@ -0,0 +1,12 @@
+### 负责人
+
+- 【后端】张怡
+- 【前端】张亚森
+
+### 修改记录
+
+| 修改人 | 修改内容             | 修改时间   |
+| ------ | -------------------- | ---------- |
+| 张怡 | 初始化作业 api           | 2018/12/20 |
+| 张怡 | 修改作业 api | 2018/12/25 |
+| 张亚森 | 修改部分url前缀 | 2018/12/25|

+ 203 - 0
assignment/api/Code-代码作业.md

@@ -0,0 +1,203 @@
+# Code - 代码作业
+
+> url 前缀:**/assignment**
+>
+> 示例:**https://xxxxxxxxx/api/assignment/xxxx**
+
+## 新建代码作业
+
+[TEACHER]
+
+```http
+post /course/:courseId/code
+```
+
+### Parameters
+
+```json
+{
+  "type":作业类型,String [CODE - 代码作业]
+  "name":作业名称,String
+  "description":作业描述,String
+  "startAt":开始时间,timestamp
+  "endAt":开始时间,timestamp
+  "problem":题目,Number
+}
+```
+
+### Response
+
+```json
+{
+  "data": CodeSerializer
+}
+```
+
+see [CodeSerializer](../serializer/CodeSerializer.md)
+
+
+
+## 更新代码作业信息
+
+[TEACHER]
+
+```http
+put /code/:codeId
+```
+
+### RequestBody
+
+```json
+{
+  "name":作业名称,String
+  "description":作业描述,String
+  "startAt":开始时间,timestamp
+  "endAt":开始时间,timestamp
+}
+```
+
+### Response
+
+```json
+{
+  "data": CodeSerializer
+}
+```
+
+see [CodeSerializer](../serializer/CodeSerializer.md)
+
+
+
+## 删除代码作业
+
+[TEACHER]
+
+```http
+delete /code/:codeId
+```
+
+### Response
+
+```
+{}
+```
+
+
+
+## 老师查看代码作业列表
+
+[TEACHER]
+
+```http
+get /teacher/course/:courseId/code
+```
+
+### Response
+
+```json
+{
+  "data": List<CodeSerializer>
+}
+```
+
+see [CodeSerializer](../serializer/CodeSerializer.md)
+
+
+
+## 学生查看代码作业列表
+
+[STUDENT]
+
+```http
+get /student/course/:courseId/code
+```
+
+### Response
+
+```json
+{
+  "data": List<CodeSerializer>
+}
+```
+
+see [CodeSerializer](../serializer/CodeSerializer.md)
+
+
+
+## 学生查看单个代码作业
+
+[STUDENT]
+
+```http
+get /student/code/:codeId
+```
+
+### Response
+
+```json
+{
+  "data": CodeSerializer
+}
+```
+
+see [CodeSerializer](../serializer/CodeSerializer.md)
+
+
+
+## 学生查看单个代码作业下的项目信息列表
+
+[STUDENT]
+
+```http
+get /student/code/:codeId/project
+```
+
+### Response
+
+```json
+{
+    "data": List<ProjectSerializer>
+}
+```
+
+see [ProjectSerializer](../serializer/ProjectSerializer.md)
+
+
+
+## 老师查看单个代码作业的成绩列表(所有组的)
+
+[TEACHER]
+
+```http
+get /teacher/code/:codeId/result
+```
+
+### Response
+
+```json
+{
+  "data": List<CodeResultSerializer>
+}
+```
+
+see [CodeResultSerializer](../serializer/CodeResultSerializer.md)
+
+
+
+## 学生查看单个代码作业的成绩
+
+[STUDENT]
+
+```http
+get /student/code/:codeId/result
+```
+
+### Response
+
+```json
+{
+  "data": CodeResultSerializer
+}
+```
+
+see [CodeResultSerializer](../serializer/CodeResultSerializer.md)

+ 151 - 0
assignment/api/Document-文档作业.md

@@ -0,0 +1,151 @@
+# Document - 代码作业
+
+> url 前缀:**/assignment**
+>
+> 示例:**https://xxxxxxxxx/api/assignment/xxxx**
+
+## 新建文档作业
+
+[TEACHER]
+
+```http
+post /course/:courseId/document
+```
+
+### Parameters
+
+```json
+{
+  "type":作业类型,String [DOCUMENT - 文档作业]
+  "name":作业名称,String
+  "description":作业描述,String
+  "startAt":开始时间,timestamp
+  "endAt":开始时间,timestamp
+  "problem":题目编号,Number
+}
+```
+
+### Response
+
+```json
+{
+  "data": DocumentSerializer
+}
+```
+
+see [DocumentSerializer](../serializer/DocumentSerializer.md)
+
+
+## 更新文档作业信息
+
+[TEACHER]
+
+```http
+put /document/:documentId
+```
+
+### RequestBody
+
+```json
+{
+  "name":作业名称,String
+  "description":作业描述,String
+  "startAt":开始时间,timestamp
+  "endAt":开始时间,timestamp
+}
+```
+
+### Response
+
+```json
+{
+  "data": DocumentSerializer
+}
+```
+
+see [DocumentSerializer](../serializer/DocumentSerializer.md)
+
+
+## 删除文档作业
+
+[TEACHER]
+
+```http
+delete /document/:documentId
+```
+
+
+## 老师查看文档作业列表
+
+[TEACHER]
+
+```http
+get /teacher/course/:courseId/document
+```
+
+### Response
+
+```json
+{
+  "data": List<DocumentSerializer>
+}
+```
+
+see [DocumentSerializer](../serializer/DocumentSerializer.md)
+
+
+## 学生查看文档作业列表
+
+[STUDENT]
+
+```http
+get /student/course/:courseId/document
+```
+
+### Response
+
+```json
+{
+  "data": List<DocumentSerializer>
+}
+```
+
+see [DocumentSerializer](../serializer/DocumentSerializer.md)
+
+
+## 老师查看文档作业的成绩列表(所有小组)
+
+[TEACHER]
+
+```http
+get /teacher/document/:documentId/result
+```
+
+### Response
+
+```json
+{
+  "data": List<DocumentResultSerializer>
+}
+```
+
+see [DocumentResultSerializer](../serializer/DocumentResultSerializer.md)
+
+
+## 学生查看文档作业的成绩
+
+[STUDENT]
+
+```http
+get /student/document/:documentId/result
+```
+
+### Response
+
+```json
+{
+  "data": DocumentResultSerializer
+}
+```
+
+see [DocumentResultSerializer](../serializer/DocumentResultSerializer.md)

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

@@ -1,246 +0,0 @@
-# Assignment - 作业
-
-> url 前缀:/api
-
-
-## 获取作业类型
-
-```http
-get /assignment/type
-```
-
-### Response
-
-```json
-{
-  "data":List<AssignmentType>
-}
-```
-
-see [AssignmentType](../serializer/AssignmentType.md)
-
-
-## 创建作业
-
-```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)
-

+ 5 - 5
assignment/serializer/AssignmentType.md

@@ -7,19 +7,19 @@
 枚举值:
 ```
 {
-	"name":"CODE", 
+	"name":"CODE",
 	"value":"团队代码作业"
 }
 {
-	"name":"DOCUMENT", 
+	"name":"DOCUMENT",
 	"value":"文档作业"
 }
 {
-	"name":"REVIEW", 
+	"name":"REVIEW",
 	"value":"互评作业"
 }
 {
-	"name":"ML", 
+	"name":"ML",
 	"value":"机器学习作业"
 }
-```
+```

+ 0 - 23
assignment/serializer/AssignmentVO.md

@@ -1,23 +0,0 @@
-# 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

+ 23 - 0
assignment/serializer/CodeResultSerializer.md

@@ -0,0 +1,23 @@
+# CodeResultSerializer
+
+代码作业成绩的基本信息
+
+## Attributes
+
+- id : **Number** - 代码作业成绩 id
+- code:**Number** - 所属代码作业 id
+- group:[**GroupSerializer**](../../course/serializer/GroupSerializer.md) - 所属小组
+- unitTestScore:**```List<ScoreSerializer>```** - 单元测试分数(TBD)
+- functionTestScore:**```List<ScoreSerializer>```** - 功能测试分数(TBD)
+- score:**Number** - 总分
+
+
+# ScoreSerializer
+
+成绩条目
+
+## Attributes
+
+- id:**Number** - 条目编号
+- name:**String** - 条目名称
+- score:**String** - 得分

+ 26 - 0
assignment/serializer/CodeSerializer.md

@@ -0,0 +1,26 @@
+# CodeSerializer
+
+代码作业的基本信息
+
+## Attributes
+
+- id : **Number** - 代码作业 id
+- name : **String** - 代码作业名称
+- description : **String** - 代码作业描述
+- status:**String** - 作业状态 [ PREPARING - 准备中,UNAVAILABLE - 创建失败,READY - 创建成功(但未到作业开始时间),AVAILABLE - 作业开放中,FINISHED - 作业已经结束]
+- createAt:**timestamp** - 创建时间
+- startAt:**timestamp** - 开始时间
+- endAt:**timestamp** - 结束时间
+- problem:**NestedProblemSerializer** - 作业题目
+
+
+
+# NestedProblemSerializer
+
+代码作业中题目的简略信息
+
+## Attributes
+
+- id : **Number** - 代码题目 id
+- name: **String** - 题目名称
+- description: **String** - 题目描述

+ 11 - 0
assignment/serializer/DocumentResultSerializer.md

@@ -0,0 +1,11 @@
+# DocumentResultSerializer
+
+文档作业成绩
+
+## Attributes
+
+- id : **Number** - 文档作业成绩 id
+- document:**Number** - 所属文档作业 id
+- group:[**GroupSerializer**](../../course/serializer/GroupSerializer.md) - 所属小组
+- state:**String** - 作业状态(TBD)
+- result:**String** - 成绩等级(TBD)

+ 27 - 0
assignment/serializer/DocumentSerializer.md

@@ -0,0 +1,27 @@
+# DocumentSerializer
+
+文档作业的基本信息
+
+## Attributes
+
+- id : **Number** - 文档作业 id
+- name : **String** - 文档作业名称 | `{2-100}`
+- description : **String** - 文档作业描述 | `{1-256}`
+- status:**String** - 作业状态 [ PREPARING - 准备中,UNAVAILABLE - 创建失败,READY - 创建成功(但未到作业开始时间),AVAILABLE - 作业开放中,FINISHED - 作业已经结束]
+- createAt:**timestamp** - 创建时间
+- startAt:**timestamp** - 开始时间
+- endAt:**timestamp** - 结束时间
+- problem:**NestedProblemSerializer** - 作业题目
+- url:**String** - 作业git地址
+
+
+
+# NestedProblemSerializer
+
+代码作业中题目的简略信息
+
+## Attributes
+
+- id : **Number** - 代码题目 id
+- name: **String** - 题目名称
+- description: **String** - 题目描述

+ 14 - 0
assignment/serializer/ProjectSerializer.md

@@ -0,0 +1,14 @@
+# ProjectSerializer
+
+代码作业项目的基本信息
+
+## Attributes
+
+- id : **Number** - 代码作业项目 id
+- codeId:**Number** - 代码作业 id
+- url : **String** - 项目git地址
+- name : **String** - 项目名称
+- buildIdList:**```List<Number>```** - 构建IDlist
+- deployIdList:**```List<Number>```** - 部署IDlist
+- unitTestIdList:**```List<Number>```** - 单元测试IDlist
+- functionTestIdList:**```List<Number>```** - 页面功能测试IDlist

+ 0 - 9
assignment/serializer/RecordVO.md

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

+ 0 - 17
assignment/serializer/ResultVO.md

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

+ 1 - 1
exam/serializer/CommitSerializer.md

@@ -4,7 +4,7 @@
 
 ## Attributes
 - id: **number** - 提交记录编号
-- hash: **String** -
+- hash: **String** - ?
 - finished: **boolean** - 是否运行结束
 - deleted: **boolean** - 考试是否删除
 - createdAt: **timestamp** - 提交时间

+ 5 - 1
prefix.md

@@ -7,6 +7,8 @@
 | 吴新宇 | 创建     | 2018/12/18 |
 | 周玮璐 | 新增题目前缀     | 2018/12/20 |
 | 周玮璐 | 新增考试&&考试结果&&考试提交记录&&运行记录前缀     | 2018/12/22 |
+| 周玮璐 | 更改题目前缀为question     | 2018/12/25 |
+| 张亚森 | 新增作业前缀 | 2018/12/25|
 
 ## 前缀列表
 
@@ -14,8 +16,10 @@
 - [group](course/api/Group-小组.md)
 - [auth](user/api/Auth-权限.md)
 - [user](user/api/User-用户.md)
-- [problem](problem/api/Problem-题目.md)
+- [question](question/api/Question-题目.md)
 - [exam](exam/api/Exam-考试.md)
 - [result](exam/api/Result-考试结果.md)
 - [commit](exam/api/Commit-提交记录.md)
 - [record](exam/api/Record-运行记录.md)
+- [assignment](assignment/api/Code-代码作业.md)
+

+ 7 - 8
problem/api/Problem-题目.md

@@ -104,13 +104,8 @@ see [ProblemSerializer](../serializer/ProblemSerializer.md)
 ## 根据题目ID查看单个题目
 
 ```http
-get /problemDetail
+get /problem/:problemId
 ```
-### Parameters
-
-| Name     | Type   | Description      |
-| -------- | ------ | ---------------- |
-| problemId | number | 题目ID |
 
 ### Response
 
@@ -130,7 +125,7 @@ see [ProblemSerializer](../serializer/ProblemSerializer.md)
 [TEACHER]
 
 ```http
-post /teacher/problemDetail
+post /teacher/problem
 ```
 ###Parameters
 
@@ -149,6 +144,9 @@ post /teacher/problemDetail
 }
 ```
 
+//TODO:
+- 题目名称重复
+
 see [ProblemSerializer](../serializer/ProblemSerializer.md)
 
 ## 更新题目
@@ -156,8 +154,9 @@ see [ProblemSerializer](../serializer/ProblemSerializer.md)
 [TEACHER]
 
 ```http
-put /teacher/problemUpdate
+put /teacher/problem
 ```
+
 ###Parameters
 
 ```json

+ 10 - 0
question/README.md

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

+ 234 - 0
question/api/Question-题目.md

@@ -0,0 +1,234 @@
+# Problem - 题目
+
+> url 前缀:**question**
+>
+> 示例:**https://xxxxxxxxx/api/question/xxxx**
+
+## 获取全部题目分类
+
+[TEACHER]
+
+```http
+get /teacher/questionType
+```
+
+### Response
+
+```json
+{
+  "data": Array<QuestionTypeSerializer>
+}
+```
+see [QuestionTypeSerializer](../serializer/QuestionTypeSerializer.md)
+
+## 按题目分类获得题目(分页)
+
+[TEACHER]
+
+```http
+get /teacher/questions
+```
+
+### Parameters
+
+| Name     | Type   | Description      |
+| -------- | ------ | ---------------- |
+| type | String | 题目类型 |
+| page | number | 当前页数 |
+| limit | number | 每页的题目数量 |
+
+
+### Response
+
+```json
+{
+  "data": Array<QuestionSerializer>,
+  "pageNum": number,
+}
+```
+- pageNum: 总页数
+
+see [QuestionSerializer](../serializer/QuestionSerializer.md)
+
+### Error
+
+```json
+{
+  "code": 400,
+  "message": "当前页码超过总页数",
+}
+```
+
+## 根据作业类型获得题目(分页)
+
+[TEACHER]
+
+```http
+get /teacher/questions
+```
+
+### Parameters
+
+| Name     | Type   | Description      |
+| -------- | ------ | ---------------- |
+| assignmenttype | String | 作业类型|
+| page | number | 当前页数 |
+| limit | number | 每页的题目数量 |
+
+### Response
+
+```json
+{
+  "data": Array<QuestionSerializer>,
+  "pageNum": number,
+}
+```
+- pageNum: 总页数
+
+see [QuestionSerializer](../serializer/QuestionSerializer.md)
+
+### Error
+
+```json
+{
+  "code": 400,
+  "message": "当前页码超过总页数",
+}
+```
+
+## 根据关键字进行模糊查找
+
+[TEACHER]
+
+```http
+get /teacher/keyword
+```
+
+### Parameters
+
+| Name     | Type   | Description      |
+| -------- | ------ | ---------------- |
+| keyword | String | 用户查找关键字 |
+
+### Response
+
+```json
+{
+  "data": Array<QuestionSerializer>
+}
+```
+
+see [QuestionSerializer](../serializer/QuestionSerializer.md)
+
+## 根据题目ID查看单个题目
+
+```http
+get /question/:questionId
+```
+
+### Response
+
+```json
+{
+  "data": QuestionSerializer,
+}
+```
+see [QuestionSerializer](../serializer/QuestionSerializer.md)
+
+
+***
+## 以下为二期开发内容
+
+## 上传单个题目
+
+[TEACHER]
+
+```http
+post /teacher/question
+```
+### Parameters
+
+```json
+{
+  "data": QuestionSerializer,
+}  
+```
+
+### Response
+
+```json
+{
+  "msg": string,
+  "id": number,
+}
+```
+### Error
+
+```json
+{
+  "code": 400,
+  "message": "题目名称不能重复",
+}
+```
+
+see [QuestionSerializer](../serializer/QuestionSerializer.md)
+
+## 更新题目
+
+[TEACHER]
+
+```http
+put /teacher/question
+```
+
+###Parameters
+
+```json
+{
+  "data": QuestionSerializer,
+}  
+```
+
+###Response
+
+```json
+{
+  "msg": string,
+}
+```
+
+see [QuestionSerializer](../serializer/QuestionSerializer.md)
+
+## 删除题目
+
+[TEACHER]
+
+```http
+delete /teacher/questionDelete
+```
+
+### Parameters
+
+| Name     | Type   | Description      |
+| -------- | ------ | ---------------- |
+| questionId | number | 题目ID |
+
+###Response
+
+```json
+{
+  "msg": string,
+}
+```
+
+
+## 更新文件(待定)
+
+[TEACHER]
+
+```http
+put /teacher/fileUpdate
+```
+
+
+see [FileSerializer](../serializer/FileSerializer.md)

+ 9 - 0
question/serializer/FileSerializer.md

@@ -0,0 +1,9 @@
+# FileSerializer
+
+文件的基本信息
+
+## Attributes
+- filename: **String** - 文件名 | `{2-100}`
+- content:  **Array<String>** -  文件内容
+- size: **number** -  文件大小 | `[0-9]*`
+- uploader: **number**, 上传者ID  

+ 12 - 0
question/serializer/QuestionDifficultLevel.md

@@ -0,0 +1,12 @@
+# QuestionDifficultLevel
+
+- 题目难度定义
+
+```
+{
+  "0": -,
+  "1": 简单,
+  "2": 中等,
+  "3": 困难,
+}
+```

+ 17 - 0
question/serializer/QuestionSerializer.md

@@ -0,0 +1,17 @@
+# QuestionSerializer
+
+题目的基本信息
+
+## Attributes
+- id: **number** - 题目ID
+- assignmentType : **String** - 题目所属作业类型 | `{1-10}`
+- type: **String** - 题目类型 | `{1-10}`
+- name: **String** - 题目名称 | `{2-100}`
+- description: **String** - 题目描述
+- creator: **number** - 创建者ID
+- expectTime: **number** - 预计完成时间 `[0-9]{1-3}`
+- difficulty: **number** - 题目难度 `[0-9]`
+- file:
+[**FileSerializer**](./FileSerializer.md) - 文件信息
+
+<!-- TBD:题目难度、预计完成时间数据类型 -->

+ 26 - 0
question/serializer/QuestionTypeSerializer.md

@@ -0,0 +1,26 @@
+# QuestionType
+
+- 题目类型
+- 属性:
+	- name:类型名,String
+	- value:类型值,String
+
+枚举值:
+```
+{
+	"name":"JAVA",
+	"value":"JAVA语言"
+}
+{
+	"name":"C",
+	"value":"C语言"
+}
+{
+	"name":"C++",
+	"value":"C++语言"
+}
+{
+	"name":"Python",
+	"value":"Python语言"
+}
+```