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 成功
相关推荐
花酒锄作田19 小时前
[python]FastAPI-Tracking ID 的设计
python·fastapi
8***v2572 天前
开源模型应用落地-FastAPI-助力模型交互-进阶篇-中间件(四)
开源·交互·fastapi
逻极3 天前
FastAPI项目结构实战:从混乱到清晰,我们如何提升团队开发效率300%
fastapi·架构设计·项目结构·代码组织
yaoty5 天前
FastAPI 流式响应中,如何优雅处理客户端断连后的数据库操作?
mysql·fastapi
百***49006 天前
开源模型应用落地-FastAPI-助力模型交互-进阶篇-中间件(四)
开源·交互·fastapi
逻极8 天前
FastAPI 从零开始:环境搭建与第一个API
fastapi
数据知道8 天前
FastAPI项目:从零到一搭建一个网站导航系统
python·mysql·fastapi·python web·python项目
码二哥8 天前
借助豆包将vllm推理deepseek-ocr改成web服务访问
ocr·fastapi·vllm·豆包·deepseek-ocr
一个java开发8 天前
FastAPI 源码阅读==浏览器一次请求到 uvicorn/FastAPI 的底层流程(含 epoll/FD)
fastapi
BestSongC9 天前
基于VUE和FastAPI的行人目标检测系统
vue.js·人工智能·yolo·目标检测·fastapi