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