FastAPI(七十)实战开发《在线课程学习系统》接口开发--留言功能开发
在之前的文章:FastAPI(六十九)实战开发《在线课程学习系统》接口开发--修改密码,这次分享留言功能开发
我们能梳理下对应的逻辑
1.校验用户是否登录 2.校验留言的用户是否存在 3.校验用户是否和留言的用户一致 4.校验留言长度是否符合要求 5.增加留言
那么看下对应的需要新增的pydantic。
1 2 3 | class MessageConent(BaseModel): id : int connect: str |
对于crud,这次没有需要新增的,我们用的都是之前的代码中已经有的,所以这里不在过多的分析。接着我们看下对应的接口实践的代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | @usersRouter .get(path = '/addmessage' ) async def addmessage(messageconent:MessageConent, user:UsernameRole = Depends(get_cure_user), db: Session = Depends(get_db)): if len (messageconent.connect)> 500 and len (messageconent.connect)> 5 : return reponse(code = 100502 ,message = '留言长度在5-500个字符长度' ,data = '') user_name = get_user_username(db, user.username) rev_user = get_user(db,messageconent. id ) if not rev_user: return reponse(code = 100503 ,message = '留言用户不存在' ,data = '') if rev_user. id = = user_name. id : return reponse(code = 100501 ,message = '自己不能给自己留言' ,data = '') times = datetime.strftime(datetime.now(), "%Y-%m-%d %H:%M:%S" ) message = Message(senduser = user_name. id , acceptusers = rev_user. id , context = messageconent.connect, sendtime = times,addtime = times,read = False ) db.add(message) db.commit() db.refresh(message) return reponse(code = 200 ,message = "成功" ,data = '') |
这里面的本次分享的内容比较简单,比之前的一对一的聊天要简单的多,当然了,这里的如果提升,就是一对一聊天,那么这里就需要处理留言信息,一对一的时时对话,之前的分享有讲过,但是不在线的一对一聊天,就是一对一的留言。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2018-02-27 Jenkins +git +python 进行持续集成进行接口测试(接口测试jenkins持续集成篇)
2017-02-27 美团面试总结