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 成功
相关推荐
vibag8 小时前
FastAPI框架
python·pycharm·fastapi
爱敲代码的TOM2 天前
PythonWeb基础-FastAPI使用
python·fastapi
simon_skywalker2 天前
FastAPI实战笔记(二) 数据处理
fastapi
创新技术阁3 天前
CryptoAiAdmin项目数据库表自动创建和初始化
后端·python·fastapi
懒人村杂货铺3 天前
前端步入全栈第一步
前端·docker·fastapi
simon_skywalker3 天前
FastAPI实战笔记(一) 基本介绍与简单操作
fastapi
wang6021252183 天前
阿里云存储的一些简要概述
数据库·阿里云·fastapi
山沐与山4 天前
【设计模式】Python工厂模式与依赖注入:FastAPI的Depends到底在干嘛
python·设计模式·fastapi
祁思妙想4 天前
修改python后端项目名称:pycharm中fastapi框架的项目
ide·pycharm·fastapi
钱彬 (Qian Bin)4 天前
项目实践13—全球证件智能识别系统(内网离线部署大模型并调用)
数据库·postgresql·fastapi·ubuntu24.04·离线部署·qwen3大模型