位置: IT常识 - 正文

【Node.js+koa--后端管理系统】设计动态发布、修改、查询、删除接口(nodejs hook)

编辑:rootadmin
【Node.js+koa--后端管理系统】设计动态发布、修改、查询、删除接口

推荐整理分享【Node.js+koa--后端管理系统】设计动态发布、修改、查询、删除接口(nodejs hook),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js import,node.js写后端接口,node.js koa,node:js,node.js写后端接口,nodejs hook,node.js koa,node js 后端,内容如对您有帮助,希望把文章链接给更多的朋友!

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

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

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

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

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

设计动态发布、修改、查询、删除接口⚙️ 动态内容接口设计思路🍬 发布动态内容接口① 创建新的动态内容表② 定义发布动态内容的接口③ controller层的函数处理④ service 层数据库处理🍿 修改动态内容接口① 定义路由接口② 验证用户是否授权和用户权限③ controller层的函数处理④ service 层数据库处理🍫 查询动态内容接口① 定义路由接口② 定义查询内容的接口(单个)③ 定义查询内容的接口(列表)🧂 删除动态内容接口① 定义路由接口② 验证用户登录和验证用户权限③ Controller和Service中的处理⚙️ 动态内容接口设计思路

🍬 发布动态内容接口① 创建新的动态内容表

建表语句:

CREATE TABLE IF NOT EXISTS `moment`(id INT PRIMARY KEY AUTO_INCREMENT,content VARCHAR(1000) NOT NULL,user_id INT NOT NULL,createAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,updateAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,FOREIGN KEY(user_id) REFERENCES user(id));② 定义发布动态内容的接口

验证用户是否具备权限verifyAuth (//目录:@/middleware/auth_middleware.js)–> 创建动态

//目录:@/router/moment_router.js// 创建动态const Router = require('koa-router')const { create, } = require('../controller/moment_controller')const { verifyAuth,} =require('../middleware/auth_middleware')const momentRouter = new Router({prefix: '/moment'})// 创建动态momentRouter.post('/',verifyAuth,create)③ controller层的函数处理

④ service 层数据库处理

🍿 修改动态内容接口① 定义路由接口

② 验证用户是否授权和用户权限

🎧 PS: 很多的内容都需要验证权限: 修改/删除动态,修改/删除评论

【Node.js+koa--后端管理系统】设计动态发布、修改、查询、删除接口(nodejs hook)

接口:业务接口系统/后端管理系统

一对多:user—>role多对多:role—>menu(删除动态和修改动态)//目录:@/middleware/auth_middleware.js// 验证已登录用户是否具备修改内容权限中间件const verifyPermission = async(ctx,next)=>{ console.log("验证已登录用户是否具备修改内容权限middleware"); // 1.获取用户参数 const [resourceKey ]= Object.keys(ctx.params) const tableName = resourceKey.replace('Id','') const resourceId = ctx.params[resourceKey] const { id } = ctx.user // console.log(momentId,id); // 2.查询是否具备权限 try{ const isPermission = await authServiece.checkResource(tableName,resourceId,id) if(!isPermission) throw new Error() }catch(err){ const error = new Error(errorTypes.UNPERMISSION) return ctx.app.emit('error',error,ctx) } await next()}//目录:@/service/auth_service.js// 数据库查询用户是否存在const connection = require('../app/database')class AuthService { async checkResource (tableName,id,userid){ const statement = `SELECT * FROM ${tableName} WHERE id = ? AND user_id = ?;`; const [result] = await connection.execute(statement,[id,userid]) return result.length === 0? false:true; }}module.exports = new AuthService()③ controller层的函数处理

④ service 层数据库处理

🍫 查询动态内容接口① 定义路由接口//目录:@/router/moment_router.js// 创建动态const Router = require('koa-router')const { create, } = require('../controller/moment_controller')const { verifyAuth,} =require('../middleware/auth_middleware')const momentRouter = new Router({prefix: '/moment'})// 创建动态momentRouter.post('/',verifyAuth,create)// 获取动态信息momentRouter.get('/',list) //获取动态列表momentRouter.get('/:momentId',detail) //获取单个列表② 定义查询内容的接口(单个)

③ 定义查询内容的接口(列表)

最后更新:

🧂 删除动态内容接口① 定义路由接口

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

见上面(verifyAuth)和(verifyPermission)

③ Controller和Service中的处理

动态接口设计完成

PS:

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

本文链接地址:https://www.jiuchutong.com/zhishi/300517.html 转载请保留说明!

上一篇:【数据挖掘实战】——家用电器用户行为分析及事件识别(BP神经网络)(数据挖掘技术介绍)

下一篇:如何构建您自己的 ChatGPT:无需代码的 AI(如何构建自己的精神空间)

  • 月入上千的游戏试玩赚钱技巧(月入过万的手游)

    月入上千的游戏试玩赚钱技巧(月入过万的手游)

  • 京东慧采商家怎么入驻(京东慧采商家怎么上品)

    京东慧采商家怎么入驻(京东慧采商家怎么上品)

  • 联想m7400pro更换墨粉盒怎么清零(联想m7400pro更换墨粉视频)

    联想m7400pro更换墨粉盒怎么清零(联想m7400pro更换墨粉视频)

  • airpodspro如何语音唤醒siri(airpodspro怎么语音)

    airpodspro如何语音唤醒siri(airpodspro怎么语音)

  • 荣耀30pro有来电闪光灯功能吗(荣耀30pro怎么设置来电秀)

    荣耀30pro有来电闪光灯功能吗(荣耀30pro怎么设置来电秀)

  • 苹果怎么恢复已经删除的好友(苹果怎么恢复已购买的app)

    苹果怎么恢复已经删除的好友(苹果怎么恢复已购买的app)

  • hp136w和136nw的区别是什么(hp136w和136nw的区别)

    hp136w和136nw的区别是什么(hp136w和136nw的区别)

  • 苹果手表能不能插电话卡(苹果手表能不能测血压)

    苹果手表能不能插电话卡(苹果手表能不能测血压)

  • vivo手机掉了关机了可以找到吗(vivo手机掉了关机了)

    vivo手机掉了关机了可以找到吗(vivo手机掉了关机了)

  • 合并单元格怎么复制粘贴(合并单元格怎么拆分)

    合并单元格怎么复制粘贴(合并单元格怎么拆分)

  • 电脑桌面时钟怎么设置(电脑桌面时钟怎么关闭)

    电脑桌面时钟怎么设置(电脑桌面时钟怎么关闭)

  • u段话筒和无线话筒区别(u段话筒和无线话筒防叫啸那个杍)

    u段话筒和无线话筒区别(u段话筒和无线话筒防叫啸那个杍)

  • 设备链路聚合支持哪些模式(链路聚合器)

    设备链路聚合支持哪些模式(链路聚合器)

  • 硬盘温度70度正常吗(硬盘温度60度怎么办)

    硬盘温度70度正常吗(硬盘温度60度怎么办)

  • 找不到投屏设备怎么办(为什么视频找不到投屏设备)

    找不到投屏设备怎么办(为什么视频找不到投屏设备)

  • 如何确认华为内屏坏了(华为手机怎样检查手机内部)

    如何确认华为内屏坏了(华为手机怎样检查手机内部)

  • 抖音个人认证需要费用吗(抖音个人认证需要多久)

    抖音个人认证需要费用吗(抖音个人认证需要多久)

  • ipadmini2有64g的吗

    ipadmini2有64g的吗

  • 怎么把qq封面弄成空白(怎么把qq封面弄成视频)

    怎么把qq封面弄成空白(怎么把qq封面弄成视频)

  • 秒懂百科的视频怎么下载(秒懂百科的视频怎么做)

    秒懂百科的视频怎么下载(秒懂百科的视频怎么做)

  • 拼多多订单怎么备注(拼多多订单怎么删除记录)

    拼多多订单怎么备注(拼多多订单怎么删除记录)

  • 华为畅享10plus是不是快充(华为畅享10plus是什么时候出的)

    华为畅享10plus是不是快充(华为畅享10plus是什么时候出的)

  • 微信个性签名居中怎么设置(微信个性签名居中文字)

    微信个性签名居中怎么设置(微信个性签名居中文字)

  • iqoo如何屏蔽升级提示(如何禁止iqoopro系统升级)

    iqoo如何屏蔽升级提示(如何禁止iqoopro系统升级)

  • vdi是什么(vdi是什么文件)

    vdi是什么(vdi是什么文件)

  • 爱剪辑如何把两个视频合并在一起(爱剪辑如何把两个视频合并在一起播放)

    爱剪辑如何把两个视频合并在一起(爱剪辑如何把两个视频合并在一起播放)

  • 如何使用万能钥匙连接wifi(如何使用万能钥匙查看wifi密码)

    如何使用万能钥匙连接wifi(如何使用万能钥匙查看wifi密码)

  • 如何确定合伙企业
  • 从租计征房产税怎么申报
  • 印花税会计分录怎么做
  • 企业自产的产品转为自用
  • 1号没有抄税可以补税吗
  • 公司注销单位社保欠费怎么处理
  • 一般纳税人收入会计分录
  • 原材料的运杂费会计分录
  • 资本公积账务
  • 事业单位财务收支
  • 留抵税额抵税怎么做分录
  • 商业企业销售的产品
  • 事业单位收到退税账务处理
  • 公司社保收费标准
  • 法人 持股
  • 关于银行借贷的法律知识
  • 给工会开发票企业需要报税吗?
  • 营业执照印花税是什么意思啊
  • 小规模纳税人咨询服务费的税率是多少
  • 库存虚增怎么调账
  • 收到退回的银行汇票会计分录
  • 企业所得税税率2.5% 5% 25%
  • 海尔笔记本最新款
  • 手撕票怎么做会计分录
  • 中秋买东西有讲究吗?
  • 电脑老是弹出广告怎么处理
  • win10开机强制进入修复模式
  • 预收账款可以挂账多久
  • 【2023-Pytorch-检测教程】手把手教你使用YOLOV5做电线绝缘子缺陷检测
  • 利润表项目本期怎么算
  • River Avon in Bath, England (© Robert Harding World Imagery/Offset by Shutterstock)
  • 计算机视觉项目论文
  • return 重定向
  • diskgenius命令
  • 公司现金发放证明
  • 永久性差异会计不确认收入
  • 房地产开发企业资质证书
  • 手工账结转
  • 增值税多交了五万怎么办
  • 生产车间领用材料的会计分录
  • 电脑自学网
  • 织梦怎样实现文件上传
  • 内帐税金会计分录
  • 农民专业合作组织法律制度的类型包括哪些?
  • 法人不发工资可以吗
  • 不动产经营租赁包括哪些内容
  • 私车公用协议可以过户吗
  • 劳务费用如何做账
  • 什么是增值税的销项税额
  • 代收收入
  • 固定资产减值准备一经计提不得转回
  • 小规模出口免税是什么意思
  • 打印银行电子流水发到别人邮箱,能看到我的账户余额吗
  • 出口汇率按报关价格算吗
  • 微信支付宝收入支出怎么做流水账
  • mysql的crud
  • SQL Server"错误 21002: [SQL-DMO]用户 * 已经存在问题解决
  • win8.1使用技巧
  • bios屏蔽nvme
  • linux防御
  • excel自动关闭如何设置
  • windows7开机后显示配置失败
  • win7系统出现蓝屏
  • win10系统笔记本怎么连接wifi
  • 微软输入法拼音
  • javascript解析器
  • jquery 瀑布流
  • android本地保存数据
  • 网页制作颜色搭配
  • android:ellipsize="marquee"
  • 批处理 删除指定文件
  • android手机传感器应用程序
  • JavaScript中数组的相关方法
  • dos 输出重定向
  • JavaScript中的this指向
  • Python selenium 三种等待方式解读
  • python中url
  • android的r
  • 税局退回多交的增值税的账务处理
  • 5种方式教你如何查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设