針對上一篇FastAPI(六十二)實戰開發《線上課程學習系統》需求分析需求的功能,我們對需要的介面進行梳理,大概的規劃出來現有的介面,作為我們第一版的介面的設計出版,然後我們根據設計的介面。
2.1使用者註冊介面
路徑:/user/register
請求方式:POST
請求格式:json
是否依賴登陸:否
引數:
引數名稱 | 引數含義 | 引數是否必須 | 引數型別 |
---|---|---|---|
username | 使用者名稱 8-16位 | 是 | str |
password | 密碼,長度8-16位,md5加密 | 是 | str |
role | 型別,學生或者老師,預設:學生 | 是 | str |
jobnum | 工號,8位數字 | 否 | int |
studentnum | 學籍號,16位數字 | 否 | int |
sex | 性別,男女。 | 是 | str |
age | 年齡,必須大於18,小於65 | 是 | int |
介面返回:json
{
"code":200,
"data":'成功',
"message":"成功"
}
返回碼說明
程式碼 | 含義 |
---|---|
200 | 註冊成功 |
100101 | 註冊失敗 |
100102 | 身份和對應號不匹配 |
100103 | 年紀大小不符合 |
100104 | 使用者名稱重複 |
100105 | 密碼加密失敗 |
100106 | 使用者名稱長度不符合 |
2.2登陸介面
路徑:/user/login
請求方式:post
請求格式:json
是否依賴登陸:否
請求引數
欄位 | 含義 | 是否必須 | 型別 |
---|---|---|---|
username | 使用者名稱 | 是 | str |
password | 密碼 | 是 | str |
返回例子
{
"code":200,
"data":{
"token":""
},
"message":"成功"
}
返回狀態碼說明
程式碼 | 含義 |
---|---|
200 | 成功 |
100201 | 登陸失敗 |
100202 | 重複登陸 |
100203 | 產生token失敗 |
100204 | 輸入密碼錯誤次數過多,賬號暫時鎖定,請30min再來登入 |
100205 | 使用者不存在 |
100206 | 密碼錯誤 |
2.3個人資訊
路徑:/user/info
請求方式:post
請求格式:json
請求引數:無
是否依賴登陸:是
返回格式:json
{
"code":200,
"data":{
},
"message":"成功"
}
返回狀態碼說明
程式碼 | 含義 |
---|---|
200 | 成功 |
2.4 修改密碼
路徑:/user/changepassword
請求方式:post
請求格式:json
返回格式:json
是否依賴登陸:是
引數 | 說明 | 是否必須 | 型別 |
---|---|---|---|
oldpassword | 原密碼 | 是 | str |
newspassword | 新密碼 | 是 | str |
返回示例
{
"code":200,
"data":'成功',
"message":"成功"
}
返回狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
100301 | 原密碼校驗失敗 |
100302 | 密碼儲存失敗 |
100303 | 新密碼長度不匹配 |
100304 | 新舊密碼不能一樣 |
2.5 留言
路徑:/user/addmessage
請求方式:post
請求格式:json
是否依賴登陸:是
請求引數:
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
id | 使用者id | 是 | int |
message | 內容 | 是 | str |
返回格式:json
{
"code":200,
"data":{
},
"message":"成功"
}
返回狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
100501 | 自己不能給自己留言 |
100502 | 留言長度在5-500個字元長度 |
100503 | 留言使用者不存在 |
2.6 檢視留言
路徑:/user/viewmessage
請求方式:get
請求格式:json
是否依賴登陸:是
請求引數:無
返回格式:json
{
"code":200,
"data":{
},
"message":"成功"
}
返回狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
2.7留言列表
路徑:/user/messagelist
請求方式:get
請求格式:json
是否依賴登陸:是
請求引數:無
返回格式:json
{
"code":200,
"data":[
],
"message":"成功"
}
返回狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
2.8回覆留言
路徑:/user/rebackmessage/
請求方式:post
請求格式:json
是否依賴登陸:是
請求引數
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
id | 留言的id | 是 | int |
message | 內容 | 是 | str |
返回格式:json
{
"code":200,
"data":{},
"message":"成功"
}
返回狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
100801 | 回覆留言失敗 |
100802 | 回覆留言內容不能為空 |
100803 | 回覆內容應該在5-500字 |
100804 | 回覆留言id不存在 |
2.9刪除留言
路徑:/user/deletemessage/{id}
請求方式:get
請求格式:json
是否依賴登陸:是
請求引數:
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
id | 留言的id | 是 | int |
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
返回狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
100901 | 刪除留言不存在 |
100902 | 許可權不足 |
2.10建立課程
路徑:/course/create
請求方式:post
請求格式:json
是否依賴登陸:是
請求引數:
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
name | 課程名稱(長度2-50) | 是 | str |
icon | 課程的icon | 否 | str |
desc | 描述 | 否 | text |
catalog | 目錄 | 否 | json |
onshelf | 是否上架(0上架,1下架) | 是 | int |
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
101002 | 課程名稱不能重複 |
101003 | 課程建立失敗 |
2.11課程詳情
路徑:/course/detail/{id}
請求方式:get
請求格式:json
是否依賴登陸:是
請求引數
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
id | 課程id | 是 | int |
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
101101 | 課程不存在 |
2.12 課程編輯
路徑:/course/edit
請求方式:put
請求格式:json
是否依賴登陸:是
請求引數
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
name | 課程名稱(長度2-50) | 是 | str |
id | 課程id | 是 | int |
icon | 課程icon | 否 | str |
desc | 課程描述 | 否 | str |
catalog | 課程目錄 | 否 | json |
onshelf | 是否上架(0上架,1下架) | 是 | int |
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
101201 | 課程id不存在 |
101202 | 許可權不足 |
101203 | 課程名稱不能重複 |
2.13 檢視評論
路徑:/course/viewcomments/{id}
請求方式:get
請求格式:無
是否依賴登陸:是
請求引數
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
id | 課程id | 是 | int |
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
101301 | 課程id不存在 |
2.14評論
路徑:/course/comments
請求方式:post
請求格式:json
是否依賴登陸:是
請求引數
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
id | 課程id | 是 | int |
content | 評論內容 | 是 | str |
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
101401 | 課程id不存在 |
101402 | 評論內容不能為空 |
101403 | 評論失敗 |
101404 | 自己不能評論自己的課程 |
2.15 加入課程
路徑:/course/add/{id}
請求方式:post
請求格式:json
是否依賴登陸:是
請求引數
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
id | 課程id | 是 | int |
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
101501 | 課程id不存在 |
101502 | 課程不能重複加入 |
101503 | 自己不能加入自己的課程 |
2.16 退出課程
路徑:/course/quit/{id}
請求方式:post
請求格式:json
是否依賴登陸:是
請求引數
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
id | 課程id | 是 | int |
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
101601 | 課程id不存在 |
101602 | 課程不在自己列表 |
2.17 課程列表
路徑:/course/list
請求方式:get
請求格式:json
是否依賴登陸:是
請求引數:無
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
2.18 課程列表(當前使用者的課程)
路徑:/course/courselist
請求方式:get
請求格式:json
是否依賴登陸:是
請求引數:
無
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
2.19 推薦課程列表
路徑:/course/recommend
請求方式:get
請求格式:json
是否依賴登陸:是
請求引數:無
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
2.20 課程點贊
路徑:/course/like/{id}
請求方式:get
請求格式:json
是否依賴登陸:是
請求引數
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
id | 課程id | 是 | int |
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
2.21 課程上架
路徑:/course/onshelf/{id}
請求方式:get
請求格式:json
是否依賴登陸:是
請求引數
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
id | 課程id | 是 | int |
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
102101 | 課程不存在 |
102102 | 課程已經上架 |
102103 | 自己只能上架自己的課程 |
102104 | 許可權不足 |
2.22 課程下架
路徑:/course/offshelf/{id}
請求方式:get
請求格式:json
是否依賴登陸:是
請求引數
引數 | 含義 | 是否必須 | 型別 |
---|---|---|---|
id | 課程id | 是 | int |
返回格式:json
{
"code":200,
"data":"ok",
"message":"成功"
}
狀態碼說明
狀態碼 | 含義 |
---|---|
200 | 成功 |
102201 | 課程不存在 |
102202 | 課程已經下架 |
102203 | 自己只能下架自己的課程 |
102204 | 許可權不足 |
對應的介面第一版本已經梳理完畢,下次,我們分享需要的資料庫的設計。
後記
文章首發在公眾號,歡迎關注。