ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论

2022-04-04 10:03:18  阅读:190  来源: 互联网

标签:code return -- FastAPI pid db comments 七十八 id


 梳理下思路:

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='')

 

标签:code,return,--,FastAPI,pid,db,comments,七十八,id
来源: https://www.cnblogs.com/leiziv5/p/16098417.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有