FastAPI(七十三)实战开发《在线课程学习系统》接口开发-- 回复留言

简介: FastAPI(七十三)实战开发《在线课程学习系统》接口开发-- 回复留言

     之前文章分享FastAPI(七十二)实战开发《在线课程学习系统》接口开发-- 留言列表开发,这次我们分享如何回复留言


    按照惯例,我们还是去分析这里面的逻辑。


1.判断用户是否登录
2.用户登录判断回复的是否存在
3.存在回复


我们对应的pydantic对象


class RebackMessConnet(MessageConent):
    rebackid: int


对应的crud


def db_creat_rebackmessage(db: Session, reback: RebackMessConnet, senduser: int):
    times = datetime.strftime(datetime.now(), "%Y-%m-%d %H:%M:%S")
    reabck = Message(**reback.dict())
    reabck.sendtime=times
    reabck.senduser=senduser
    db.add(reabck)
    db.commit()  # 提交保存到数据库中
    db.refresh(reabck)  # 刷新
    return reabck


  那么我们看下接口最后的实现代码


@usersRouter.get(path='/rebackmessage')
async  def rebackmessage(rebackmessage:RebackMessConnet,user: UsernameRole = Depends(get_cure_user),
                      db: Session = Depends(get_db)):
    if rebackmessage.connect=="":
        return reponse(code=100802,message='回复留言内容不能为空',data='回复留言内容不能为空')
    if len(rebackmessage.connect)>500 or len(rebackmessage.connect)<5:
        return reponse(code=100803,message='回复内容应该在5-500字',data='回复内容应该在5-500字')
    users=get_user_username(db,user.username)
    message=get_message(db,rebackmessage.rebackid)
    if not message:
        return reponse(code=100804,message='回复留言id不存在',data='回复留言id不存在')
    db_creat_rebackmessage(db,rebackmessage,users.id)
    return reponse(code=200, message='成功', data='成功')


这个功能是一个很简单的接口。实现起来没有那么复杂。


相关文章
|
2月前
|
JSON API 网络架构
FastAPI+React全栈开发13 FastAPI概述
FastAPI是一个高性能的Python Web框架,以其快速编码和代码清洁性著称,减少了开发者错误。它基于Starlette(一个ASGI框架)和Pydantic(用于数据验证)。Starlette提供了WebSocket支持、中间件等功能,而Pydantic利用Python类型提示在运行时进行数据验证。类型提示允许在编译时检查变量类型,提高开发效率。FastAPI通过Pydantic创建数据模型,确保数据结构的正确性。FastAPI还支持异步I/O,利用Python 3.6+的async/await关键词和ASGI,提高性能。此外,
114 0
|
9月前
|
存储 IDE API
最佳实践:通过 FastAPI APIRouter 提升开发效率
FastAPI 是一个现代的、高性能的 Python Web 框架,它提供了 APIRouter 来帮助组织和管理路由。APIRouter 是一个可用于组织和分组路由的类,使得代码结构更加清晰和可维护。本文将介绍 FastAPI APIRouter 的用法,包括实践案例以及在 IDE 编辑器中的运行步骤。
|
机器学习/深度学习 开发者 Python
FastAPI的小兄弟,开发命令行工具更给力
FastAPI的小兄弟,开发命令行工具更给力
196 0
FastAPI的小兄弟,开发命令行工具更给力
|
NoSQL 测试技术 Redis
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
|
存储 测试技术 数据安全/隐私保护
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
|
测试技术 数据安全/隐私保护
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(上)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(上)
FastAPI(八十二)实战开发《在线课程学习系统》接口开发-- 课程上架下架
FastAPI(八十二)实战开发《在线课程学习系统》接口开发-- 课程上架下架
|
NoSQL Redis 数据库
FastAPI(八十一)实战开发《在线课程学习系统》接口开发-- 推荐课程列表与课程点赞
FastAPI(八十一)实战开发《在线课程学习系统》接口开发-- 推荐课程列表与课程点赞
FastAPI(八十)实战开发《在线课程学习系统》接口开发-- 课程列表
FastAPI(八十)实战开发《在线课程学习系统》接口开发-- 课程列表
FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程
FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程