之前文章分享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='成功')
這個功能是一個很簡單的接口。實現起來沒有那麼複雜。