FastAPI(六十三)实战开发《在线课程学习系统》梳理系统需要接口 (上)

前言

针对上一篇需求分析,我们需要对接口进行梳理,大概得规划出现有的接口,作为我们第一版的接口的设计初版。

用户

用户注册接口

路径:/user/register

请求方式:POST

参数格式:json

是否依赖登录:否

参数:

|-------------|------------------|--------|------|
| 参数名称 | 参数含义 | 参数是否必须 | 参数类型 |
| username | 用户名,长度8-16位 | 是 | str |
| password | 密码,长度8-16位,md5加密 | 是 | str |
| role | 角色,学生或老师,默认:学生 | 是 | str |
| job_num | 工号,8位数字 | 否 | int |
| student_num | 学籍号,16位数字 | 否 | int |
| sex | 性别,男或女 | 是 | str |
| age | 年龄,必须大于18小于65 | 是 | int |

接口返回:json

{"code": 200, "data": "成功", "message": "成功"}

返回码说明

代码 含义
200 注册成功
100101 注册失败
100102 身份和对应号不匹配
100103 年纪大小不符合
100104 用户名重复
100105 密码加密失败
100106 用户名长度不符合

登录接口

路径:/user/login

请求方式:post

请求格式:json

是否依赖登陆:否

请求参数

字段 含义 是否必须 类型
username 用户名 str
password 密码 str

返回例子

复制代码
{ "code":200, "data":{ "token":"" }, "message":"成功" }

返回状态码说明

代码 含义
200 成功
100201 登陆失败
100202 重复登陆
100203 产生token失败
100204 输入密码错误次数过多,账号暂时锁定,请30min再来登录
100205 用户不存在
100206 密码错误

个人信息

路径:/user/info

请求方式:post

请求格式:json

请求参数:无

是否依赖登陆:是

返回格式:json

复制代码
{ "code":200, "data":{   }, "message":"成功"}

返回状态码说明

代码 含义
200 成功

修改密码

路径:/user/changepassword

请求方式:post

请求格式:json

返回格式:json

是否依赖登陆:是

参数 说明 是否必须 类型
oldpassword 原密码 str
newspassword 新密码 str

返回示例

复制代码
{ "code":200, "data":'成功', "message":"成功"}

返回状态码说明

状态码 含义
200 成功
100301 原密码校验失败
100302 密码保存失败
100303 新密码长度不匹配
100304 新旧密码不能一样

留言

路径:/user/addmessage

请求方式:post

请求格式:json

是否依赖登陆:是

请求参数:

参数 含义 是否必须 类型
id 用户id int
message 内容 str

返回格式:json

{ "code":200, "data":{ }, "message":"成功"}

返回状态码说明

状态码 含义
200 成功
100501 自己不能给自己留言
100502 留言长度在5-500个字符长度
100503 留言用户不存在

查看留言

路径:/user/viewmessage

请求方式:get

请求格式:json

是否依赖登陆:是

请求参数:无

返回格式:json

复制代码
{
 "code":200,
 "data":{
   
},
 "message":"成功"
}

返回状态码说明

状态码 含义
200 成功
相关推荐
查古穆41 分钟前
FastAPI-passlib密码加密
后端·fastapi
qq_4523962310 小时前
【AI 架构师】第十篇:Agent 工业化部署 —— 从 FastAPI 到云端全链路监控
网络·人工智能·ai·fastapi
曲幽19 小时前
FastAPI单元测试实战:别等上线被喷才后悔,TestClient用对了真香!
python·单元测试·pytest·api·fastapi·web·httpx·testclient·依赖项覆盖
05大叔1 天前
AI头条项目二用户模块的实现,全局异常处理器
fastapi
曲幽2 天前
FastAPI状态共享秘籍:别再让中间件、依赖和路由“各自为政”了!
python·fastapi·web·request·state·depends·middleware
浮生札记2 天前
腾讯云 COS STS 临时密钥上传
python·腾讯云·fastapi·对象存储
在屏幕前出油2 天前
04. FastAPI——响应类型
开发语言·后端·python·pycharm·fastapi
苦瓜小生2 天前
AI-TestHub:我如何从零开发一个智能测试用例生成平台
人工智能·python·测试工具·github·测试用例·fastapi
tryCbest2 天前
Python之FastAPI 开发框架(第三篇):高级特性与实战
开发语言·python·fastapi
写代码的【黑咖啡】3 天前
Python Web 开发新宠:FastAPI 全面指南
前端·python·fastapi