1. 程式人生 > 其它 >FastAPI(六十三)實戰開發《線上課程學習系統》梳理系統需要介面

FastAPI(六十三)實戰開發《線上課程學習系統》梳理系統需要介面

  針對上一篇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 許可權不足

對應的介面第一版本已經梳理完畢,下次,我們分享需要的資料庫的設計。

後記

文章首發在公眾號,歡迎關注。