您的位置:首页 > 汽车 > 新车 > FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 删除留言

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

2024/10/21 4:08:01 来源:https://blog.csdn.net/myli_binbin/article/details/140667604  浏览:    关键词:FastAPI(七十四)实战开发《在线课程学习系统》接口开发-- 删除留言

 源码见:"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统"

之前文章FastAPI(七十三)实战开发《在线课程学习系统》接口开发-- 回复留言,那么我们这次分享删除留言接口的开发

可以对留言进行删除,这里的删除,我们使用的是逻辑的删除,不是物理删除

   我们来梳理下这里的逻辑

1.判断用户是否登录

2.请求携带留言的id

3.判断删除的留言是否存在

4,存在则删除

如何实现呢,首先在message_method.py中实现具体逻辑,也很简单

def delete_msg(msg_id: int, user: UsernameRole, db: Session):"""删除留言"""db_msg = get_msg_by_id(db, msg_id)if not db_msg:return response(code=100901, message="删除留言不存在")db_user = get_by_username(db, user.username)if db_user.id != db_msg.send_user:return response(code=100902, message="权限不足")try:db_msg.status = 1db.commit()db.refresh(db_msg)except:logger.warning(f"method delete_msg error: {traceback.format_exc()}")response(code=100903, message="删除失败")return response()

然后实现接口api:message.py

@message_router.delete("/", summary="删除留言")
def del_msg(msg_id: int,user: UsernameRole = Depends(get_current_user),db: Session = Depends(create_db)
):return delete_msg(msg_id, user, db)

测试

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com