# Exam - 考试 > url 前缀:**exam** > > 示例:**https://xxxxxxxxx/api/exam/xxxx** ## 创建考试 `TEACHER` ```http post ``` ### Parameters ```ts interface ExamDTO { name: string; startAt: LocalDateTime; endAt: LocalDateTime; problem: Array; courseId: number; // TODO: bed design } ``` ### Response ```ts interface ExamData { err: 0; res: ExamSerializer; } ``` see [ExamSerializer](../serializer/ExamSerializer.md) ## 查看考试列表 ```http get ``` ### Parameters | Name | Type | Description | | ------ | ---------- | ----------- | | page | number | 页码 | | limit | number | 每页条数 | | status | ExamStatus | 考试状态 | see [ExamStatus](../serializer/ExamSerializer.md) ### Response ```ts interface ExamPageData { err: 0; res: Array; page: PageSerializer; } ``` see [ExamSerializer](../serializer/ExamSerializer.md), [PageSerializer](../serializer/PageSerializer.md) ## 查看考试信息 `TEACHER` `ADMIN` ```http get /:examId ``` ### Response ```ts interface ExamData { err: 0; res: ExamSerializer; } ``` see [ExamSerializer](../serializer/ExamSerializer.md) ## 更新考试信息 `TEACHER` `ADMIN` ```http put /:examId ``` ### Parameters ```ts interface ExamDTO { name: string; startAt: LocalDateTime; endAt: LocalDateTime; problem: Array; courseId: number; // TODO: bed design } ``` ### Response ```ts interface ExamData { err: 0; res: ExamSerializer; } ``` see [ExamSerializer](../serializer/ExamSerializer.md) ## 删除考试 `TEACHER` `ADMIN` ```http delete /:examId ``` ### Response ```ts interface EmptyData { err: 0; } ``` ## 参加考试 `TEACHER` `STUDENT` ```http post /:examId ``` ### Response ```ts interface EmptyData { err: 0; } ``` ### 获得在线代码(1) ```http get /:examId/onlinecode ``` ### Response ```ts interface CodeData { err: 0; res: CodeSerializer; } ``` see [CodeSerializer](../serializer/CodeSerializer.md) ### 获得在线代码(2) ```http get /:examId/onlinecode/:questionId ``` ### Response ```ts interface CodeData { err: 0; res: CodeSerializer; } ``` see [CodeSerializer](../serializer/CodeSerializer.md) ### 更新在线代码(1) ```http post /:examId/onlinecode ``` ### Parameters ```ts interface CodeDTOMap { [key: number]: { code: Map; }; } ``` ### Response ```ts interface EmptyData { err: 0; } ``` ### 更新在线代码(2) ```http post /:examId/onlinecode/:questionId ``` ### Parameters ```ts interface CodeDTO { code: Map; } ``` ### Response ```ts interface EmptyData { err: 0; } ``` ### 获得考试结果 `STUDENT` `ADMIN` ```http get /:examId/result ``` ### Response ```ts interface ResultData { err: 0; res: ResultSerializer; } ``` see [ResultSerializer](../serializer/ResultSerializer.md)