FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论
Posted 北漂的雷子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论相关的知识,希望对你有一定的参考价值。
梳理下思路:
1.判断是否登录 2.判断课程是否存在 3.如果回复查看回复的是否存在 4.校验是否有权限 5.评论成功
对应的pydantic类如下
class Coursecomment(BaseModel): id: int comments: str pid: Optional[int]
对应的crud
def createcomments(db: Session, cousecoment: Coursecomment, user: id): comments = Commentcourse(**cousecoment.dict()) comments.users=user db.add(comments) db.commit() db.refresh(comments) return comments
对应的代码实现。
@courseRouter.post(path="/comments") async def comments(comments: Coursecomment,user: UsernameRole = Depends(get_cure_user), db: Session = Depends(get_db)): if comments.comments == \'\': return reponse(code=101402, message=\'评论内容不能为空\', data=\'\') users = get_user_username(db, user.username) couses = db_get_course_id(db, comments.id) if couses: if couses.owner == users.id and comments.pid is None: return reponse(code=101404, message=\'自己不能评论自己的课程\', data=\'\') if comments.pid is not None: pid_course = get_cousecomments(db, comments.pid) if pid_course: createcomments(db, comments, users.id) return reponse(code=200, message=\'成功\', data=\'\') return reponse(code=101405, message=\'回复的评论不存在\', data=\'\') createcomments(db, comments, users.id) return reponse(code=200, message=\'成功\', data=\'\') return reponse(code=101401, message=\'课程id不存在\', data=\'\')
以上是关于FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论的主要内容,如果未能解决你的问题,请参考以下文章
FastAPI(七十七)实战开发《在线课程学习系统》接口开发-- 课程编辑和查看评论
FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程
FastAPI(六十八)实战开发《在线课程学习系统》接口开发--用户 个人信息接口开发