码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【无标题】


    🍳作者: 贤蛋大眼萌,一名很普通但不想普通的程序媛 \color{#FF0000}{贤蛋 大眼萌 ,一名很普通但不想普通的程序媛} 贤蛋大眼萌,一名很普通但不想普通的程序媛🤳

    🙊语录: 多一些不为什么的坚持 \color{#0000FF}{多一些不为什么的坚持} 多一些不为什么的坚持

    📝本文章收录于专栏:Node.js+koa–后端管理系统

    💭 眼过千遍不如手锤一遍:推荐一款模拟面试,斩获大厂 o f f e r ,程序员的必备刷题平台 − − 牛客网 \color{#ff7f50}{眼过千遍不如手锤一遍:推荐一款模拟面试,斩获大厂offer,程序员的必备刷题平台--牛客网} 眼过千遍不如手锤一遍:推荐一款模拟面试,斩获大厂offer,程序员的必备刷题平台−−牛客网

    👉🏻点击跳转刷题网免费注册学习

    设计评论发布、修改、查询、删除接口

      • ⚙️ 评论接口设计思路
      • 🍬 发布评论接口
        • ① 创建新的comment评论表
        • ② 定义路由接口-->验证用户登录
        • ③ Controller和Service中处理内容
      • 💊 修改评论接口
        • ① 定义理由接口
        • ② 验证用户登录(更新verifyPermission)
        • ③ 验证用户权限
        • ④ Controller和Service中处理内容
      • 🚀 回复评论接口
        • ① 定义路由接口
        • ② 验证用户登录
        • ③ Controller和Service中处理内容
      • 🏓 删除评论接口
        • ① 定义路由接口
        • ② 验证用户登录和验证用户权限
        • ③ Controller和Service中处理内容
      • 🥁 查询动态时,同时显示评论信息
        • ① 查询多个动态时,显示评论的个数
        • ② 查询单个动态时,显示评论的列表

    ⚙️ 评论接口设计思路

    image-20220919221400325

    🍬 发布评论接口

    ① 创建新的comment评论表

    CREATE TABLE IF NOT EXISTS `comment`(
    	id INT PRIMARY KEY AUTO_INCREMENT,
    	content VARCHAR(1000) NOT NULL,
    	moment_id INT NOT NULL,
    	user_id INT NOT NULL,
    	comment_id INT DEFAULT NULL,
    	createAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    	updateAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    	
    	FOREIGN KEY(moment_id) REFERENCES moment(id) ON DELETE CASCADE ON UPDATE CASCADE,
    	FOREIGN KEY(user_id) REFERENCES user(id) ON DELETE CASCADE ON UPDATE CASCADE,
    	FOREIGN KEY(comment_id) REFERENCES comment(id) ON DELETE CASCADE ON UPDATE CASCADE
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    ② 定义路由接口–>验证用户登录

    const Router = require('koa-router')
    
    const {
      create,
    } = require('../controller/comment_controller')
    const {
      verifyAuth,
    } = require ('../middleware/auth_middleware')
    
    const commentRouter = new Router({prefix:'/comment'})
    // 发表评论
    commentRouter.post('/',verifyAuth,create)
    
    module.exports = commentRouter
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    ③ Controller和Service中处理内容

    image-20220529133934783

    image-20220529133958032

    💊 修改评论接口

    ① 定义理由接口

    image-20220529171814552

    ② 验证用户登录(更新verifyPermission)

    见上面(verifyAuth)

    ③ 验证用户权限

    PS:这里原本是封装了verifyPermission中间件,现在稍作更改

    定义更为符合RESTful风格的接口代码

    image-20220529162619912

    image-20220529162732598

    ④ Controller和Service中处理内容

    image-20220529163306390

    image-20220529163317340

    🚀 回复评论接口

    ① 定义路由接口

    image-20220529171737953

    ② 验证用户登录

    见上面(verifyAuth)

    ③ Controller和Service中处理内容

    image-20220529153917572

    image-20220529153933577

    🏓 删除评论接口

    ① 定义路由接口

    image-20220529202542822

    ② 验证用户登录和验证用户权限

    image-20220529202322134

    ③ Controller和Service中处理内容

    image-20220529202741375

    🥁 查询动态时,同时显示评论信息

    ① 查询多个动态时,显示评论的个数

    image-20220531101308508

    ② 查询单个动态时,显示评论的列表

    image-20220531101104841

    image-20220531101134023

    image-20220531101148072

    PS:

    附上完整的路由接口代码。

    const Router = require('koa-router')
    
    const {
      create,
      reply,
      update,
      remove,
      list
    } = require('../controller/comment_controller')
    const {
      verifyAuth,
      verifyPermission
    } = require ('../middleware/auth_middleware')
    
    const commentRouter = new Router({prefix:'/comment'})
    // 发表评论
    commentRouter.post('/',verifyAuth,create)
    // 回复评论
    commentRouter.post('/:commentId/reply',verifyAuth,reply)
    // 修改评论
    commentRouter.patch('/:commentId',verifyAuth,verifyPermission,update)
    // 删除评论
    commentRouter.delete('/:commentId', verifyAuth, verifyPermission, remove);
    
    // 获取评论列表
    commentRouter.get('/',list)
    
    module.exports = commentRouter
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    PS:

    求知无坦途,学问无捷径。👣 一步一个脚印,你走过的路,每一步都算数。 \color{#ff7f50}{一步一个脚印,你走过的路,每一步都算数。} 一步一个脚印,你走过的路,每一步都算数。 每一次进步都是对自己努力的肯定。如果读了文章有收获,不如一起来学习,一起进步吧。传送门🚪刷题神器

    image-20220917104224568


    在这里插入图片描述

  • 相关阅读:
    Jmeter 接口测试,参数值为列表,如何参数化?
    嵌入式开发中外设管理框架规划-状态机模式
    多态与抽象
    Python无废话-办公自动化Excel写入操作
    ScanNet数据集和YFCC100m数据集下载
    QML自定义可长按短按的SpinBox
    笔试强训48天——day24
    单源最短路径(贪心算法)
    小学生python游戏编程arcade----基本知识2
    计算机三级信息安全笔记(知识点)
  • 原文地址:https://blog.csdn.net/weixin_47980825/article/details/126943504
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号