# Course - 课程 > url 前缀:**course** > > 示例:**https://xxxxxxxxx/api/course/xxxx** ## 教师新建课程 `TEACHER` `ADMIN` ```http post ``` ### Parameters ```ts interface CourseDTO { name: string; code: string; // 选课码 } ``` ### Response ```ts interface CourseData { err: 0; res: CourseSerializer; } ``` see [CourseSerializer](../serializer/CourseSerializer.md) ## 教师获取自己创建的所有课程 `TEACHER` `ADMIN` ```http get ``` ### Parameters | Name | Type | Description | | ----- | ------ | ----------- | | page | number | 页码 | | limit | number | 每页条数 | ### Response ```ts interface CoursePageData { err: 0; res: Array; page: PageSerializer; } ``` see [CourseSerializer](../serializer/CourseSerializer.md), [PageSerializer](../serializer/PageSerializer.md) ## 更新课程信息 `TEACHER` `ADMIN` ```http put /:courseId ``` ### Parameters ```ts interface CourseDTO { name: string; code: string; // 选课码 } ``` ### Response ```ts interface CourseData { err: 0; res: CourseSerializer; } ``` see [CourseSerializer](../serializer/CourseSerializer.md) ## 学生选课 `STUDENT` ```http post /student ``` ### Parameters ```ts interface CourseCodeDTO { code: string; // 选课码 } ``` ### Response ```ts interface CourseData { err: 0; res: CourseSerializer; } ``` see [CourseSerializer](../serializer/CourseSerializer.md) ## 判断选课码是否重复 `STUDENT` `ADMIN` ```http post /code ``` ### Parameters ```ts interface CourseCodeDTO { code: string; // 选课码 } ``` ### Response ```ts interface DuplicateData { err: 0; res: boolean; } ```