码农知识堂 - 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


    在这里插入图片描述

  • 相关阅读:
    java-net-php-python-50ssm高校大学生创新创业管理系统三篇文档计算机毕业设计程序
    Vue中数据可视化关系图展示与关系图分析
    挑战杯 基于深度学习的动物识别 - 卷积神经网络 机器视觉 图像识别
    Python循环中被遗忘的else选项
    2023/9/15 -- C++/QT
    打造南沙“强芯”,南沙首届IC Nansha大会召开
    李宏毅机器学习笔记-半监督学习
    0基础python全栈教程前言,0基础学习python难不难
    WPF 控件专题 DatePicker控件详解
    安装idea社区版并开发JavaWeb项目
  • 原文地址:https://blog.csdn.net/weixin_47980825/article/details/126943504
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号