这是我参与「第五届青训营 」伴学笔记创作活动的第 5天
前言
经过几天的开发,评论部分推进顺利,并且完成本地测试,下面来梳理一下
功能说明
1.支持用户查看视频下的评论列表, 2.支持用户能够发表评论。 3.支持不文明等敏感词和谐
应用工具
redis,navicat(mysql)数据库,postman接口调试,vscode go插件,辅助debug
数据库表构建
Id int64 //评论id
UserId int64 //评论用户id
VideoId int64 //视频id
CommentText string //评论内容
CreateDate string //评论发布的日期mm-dd
Cancel int32 //取消评论为1,发布评论为0
主要方法及其功能实现
1.InsertComment:发表评论
func InsertComment(comment Comment) (Comment, error) {
log.Println("CommentDao-InsertComment: running") //函数已运行
//数据库中插入一条评论信息
err := DB.Model(Comment{}).Create(&comment).Error
if err != nil {
log.Println("CommentDao-InsertComment: return create comment failed") //函数返回提示错误信息
return Comment{}, errors.New("create comment failed")
}
log.Println("CommentDao-InsertComment: return success") //函数执行成功,返回正确信息
return comment, nil
}
2.DeleteComment:通过评论id删除评论
func DeleteComment(id int64) error {
log.Println("CommentDao-DeleteComment: running") //函数已运行
var commentInfo Comment
//先查询是否有此评论
result := DB.Model(Comment{}).Where(map[string]interface{}{"id": id, "cancel": config.ValidComment}).First(&commentInfo)
if result.RowsAffected == 0 { //查询到此评论数量为0则返回无此评论
log.Println("CommentDao-DeleteComment: return del comment is not exist") //函数返回提示错误信息
return errors.New("del comment is not exist")
}
//数据库中删除评论-更新评论状态为-1
err := DB.Model(Comment{}).Where("id = ?", id).Update("cancel", config.InvalidComment).Error
if err != nil {
log.Println("CommentDao-DeleteComment: return del comment failed") //函数返回提示错误信息
return errors.New("del comment failed")
}
log.Println("CommentDao-DeleteComment: return success") //函数执行成功,返回正确信息
return nil
} }
后续方法随着开发进行不断更新
测试 1.0
Postman是一种用于API测试的工具。它允许您发送HTTP请求,并对响应进行验证。这是如何使用Postman进行API测试的一些步骤:
- 安装Postman:您可以在Postman官网下载最新版本的Postman。
- 创建集合:在Postman中,您可以创建一个集合来组织您的测试。
- 创建请求:使用Postman,您可以创建请求,并设置请求类型(例如GET,POST,PUT等)、请求地址和请求参数。
- 发送请求:发送请求后,Postman将显示响应的详细信息,包括响应状态码、响应头和响应体。
- 验证响应:您可以使用Postman的断言功能来验证响应的期望值。例如,您可以验证响应状态码是否为200 OK,或者响应体是否包含特定的文本。
- 保存结果:您可以将测试结果保存在Postman中,并在将来对其进行回顾。
使用Postman进行API测试是一种快速、有效的方法,它可以帮助您确保API的正确性和可靠性。
postman 验证截图
postman测试结果
数据库存入值