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 成功
相关推荐
kkoral3 小时前
基于MS-Swift 为 Qwen3-0.6B-Base 模型搭建可直接调用的 API 服务
python·conda·fastapi·swift
AIOps打工人4 小时前
Grafana Query MCP:基于FastAPI的Grafana查询转换与分页服务
运维·数据库·python·ai·grafana·fastapi·devops
吴佳浩11 小时前
Python入门指南(五) - 为什么选择 FastAPI?
后端·python·fastapi
代码代码快快显灵21 小时前
FastAPI入门
fastapi
懒人村杂货铺1 天前
完整的 FastAPI 后端开发流程
fastapi
懒人村杂货铺1 天前
FastAPI 中全局异常处理
fastapi
Good kid.1 天前
【原创】基于 RoBERTa 的智能垃圾分类系统(规则 + AI 混合,FastAPI 接口 + Web Demo)
人工智能·分类·fastapi
博客胡2 天前
Python-fastAPI的学习与使用
学习·fastapi·ai编程
wang6021252182 天前
FastAPI中的异步任务执行-celery
fastapi·celery
宁雨桥2 天前
多引擎中英翻译API搭建与使用教程
python·fastapi·翻译