位置: 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(如何构建自己的精神空间)

  • Redmi Note9 Pro的处理器是什么(redmi note 9 pro)

    Redmi Note9 Pro的处理器是什么(redmi note 9 pro)

  • 华为手机怎么截屏的4种方法图片p40(华为手机怎么截屏最简单)

    华为手机怎么截屏的4种方法图片p40(华为手机怎么截屏最简单)

  • 电子邮件的工作原理是什么(电子邮件工作在哪一层)

    电子邮件的工作原理是什么(电子邮件工作在哪一层)

  • cibn是什么(cibn是什么会员)

    cibn是什么(cibn是什么会员)

  • 微信收款怎样同时两个手机都能收到信息(微信收款怎么同步收款声音)

    微信收款怎样同时两个手机都能收到信息(微信收款怎么同步收款声音)

  • 连接蓝牙要网络吗么(连接蓝牙网络卡)

    连接蓝牙要网络吗么(连接蓝牙网络卡)

  • 上不去网有个叹号是什么意思(上不了网有个感叹号)

    上不去网有个叹号是什么意思(上不了网有个感叹号)

  • 电脑可以加硬盘吗(电脑可以加硬盘吗?)

    电脑可以加硬盘吗(电脑可以加硬盘吗?)

  • 收款码可以自己打印吗(收款码可以自己复印吗)

    收款码可以自己打印吗(收款码可以自己复印吗)

  • http是一种主要用于加密的协议吗

    http是一种主要用于加密的协议吗

  • 照片移动到内存卡就消失了(如何把照片移到内存卡里面)

    照片移动到内存卡就消失了(如何把照片移到内存卡里面)

  • n3150相当于什么处理器(n3150性能相当于)

    n3150相当于什么处理器(n3150性能相当于)

  • 华为m6能用蓝牙鼠标吗(华为m6 蓝牙)

    华为m6能用蓝牙鼠标吗(华为m6 蓝牙)

  • ps描边路径怎么用(ps描边路径怎么设置内外)

    ps描边路径怎么用(ps描边路径怎么设置内外)

  • 华为mate20pro像素多少万(华为mate20Pro像素设置)

    华为mate20pro像素多少万(华为mate20Pro像素设置)

  • 如何把pdf转换为cad(如何把pdf转换为jpg)

    如何把pdf转换为cad(如何把pdf转换为jpg)

  • 趣步糖果怎么不能置换了(趣步里面的糖果怎么卖钱的)

    趣步糖果怎么不能置换了(趣步里面的糖果怎么卖钱的)

  • 小米9pro怎么升级miui11(小米9pro怎么升级moui14)

    小米9pro怎么升级miui11(小米9pro怎么升级moui14)

  • 金立手机锁屏设置在哪(金立手机锁屏设置在哪里设置)

    金立手机锁屏设置在哪(金立手机锁屏设置在哪里设置)

  • 微信手续费怎么避免(微信手续费怎么收费)

    微信手续费怎么避免(微信手续费怎么收费)

  • 华为手机如何连拍照片(华为手机如何连接u盘)

    华为手机如何连拍照片(华为手机如何连接u盘)

  • 数字化是干什么的(数字化是啥意思)

    数字化是干什么的(数字化是啥意思)

  • 苹果xs max面部识别不了(苹果xs max面部识别)

    苹果xs max面部识别不了(苹果xs max面部识别)

  •  word怎么关闭兼容模式(word2003怎么关闭兼容模式)

    word怎么关闭兼容模式(word2003怎么关闭兼容模式)

  • 苹果手机4g网速慢怎么办(苹果手机4G网速突然变慢)

    苹果手机4g网速慢怎么办(苹果手机4G网速突然变慢)

  • 华为畅享9指纹解锁在哪(华为畅享9指纹在哪)

    华为畅享9指纹解锁在哪(华为畅享9指纹在哪)

  • qq的svip有什么用(qq的svip能干什么)

    qq的svip有什么用(qq的svip能干什么)

  • 暴风影音如何换声音(暴风影音如何修改默认音轨)

    暴风影音如何换声音(暴风影音如何修改默认音轨)

  • 鸿蒙系统桌面布局怎么设置?鸿蒙系统桌面布局好看的方法(鸿蒙系统桌面布局图片怎么设置)

    鸿蒙系统桌面布局怎么设置?鸿蒙系统桌面布局好看的方法(鸿蒙系统桌面布局图片怎么设置)

  • 企业所得税如何合理避税?
  • 开专票还是开普发票
  • 差旅费处理会计分录
  • 个税手续费发给个人怎么做账
  • 什么时候做计提的会计分录
  • 境外公司委托境内公司付款
  • 国有资产报废如何委托拍卖公司
  • 会计凭证传递的终点是
  • 车辆购置税多缴了能退吗
  • 自用房产税如何计算
  • 进项较大航天信息怎么填
  • 计提公司所得税分录
  • 个税手续费退还时间
  • 建筑行业不管是什么行业
  • 当月增加的投资性房地产当月提折旧吗
  • 短期借款利息的处理
  • 销售收入大于纳税申报销售收入
  • windows10.0
  • 企业补充流动资金具体用途
  • 什么时候可以购买火车票
  • 公司之间可以借款吗怎么做账
  • 运输公司的进项必须是专票吗
  • group policy client服务未能登录解决方法
  • 在win7系统中将打开窗口拖到屏幕顶端
  • 指定的网络名不再可用 共享打印机00x0000040
  • 完税凭证遗失后怎么处理
  • 税收保全有哪些
  • macOS Big Sur 11.3 开发预览版 Beta正式更新
  • 存货包括生产成本,在资产负债表中表示
  • 王者营地怎么转移到安卓系统
  • PHP中使用什么关键字声明变量的作用域为全局
  • pax是什么文件
  • 国有资产无偿使用违反什么规定
  • 抵债资产的账务处理
  • 库存现金被盗会怎么样
  • 加拿大西北部的首都
  • css经典面试题
  • react 16.8 新特性
  • rc远程桌面
  • 如何开具电子发票广东
  • 过路费抵扣进项税怎么计算
  • uni-simple-router 跳转无效
  • 帝国cms工作流
  • 印花税对什么征税
  • 其它应收款的处理程序
  • 增值税开票系统客服电话
  • 应付货款和应付款的区别
  • 工程行业预交税款怎么算
  • 新会计准则规定
  • 原材料的会计处理有哪些
  • 增值税会计账务处理例题
  • 企业所得税汇算清缴会计分录
  • 工会经费的开支包括哪些
  • 双分录怎么做记账凭证
  • 完税证明和纳税证明一样吗
  • 公司有美金账户如何做账
  • 公司的长期股权投资该如何做账
  • 信托保障基金会返还吗
  • 来料加工的特点包括
  • 内账会计工作职责和工作流程
  • 工资的计算方法有几种
  • mysql用中文字段
  • centos环境搭建
  • freebsd怎么样
  • XP下HTTP的403.9错误-禁止访问:连接的用户过多 重启iis可以解决
  • window怎么开启自动更新
  • win10更新补丁后共享打印机无法使用
  • linux filezilla使用教程
  • 常用的批处理文件
  • 常用dos命令详解
  • JavaScript运算符都有哪些
  • unity random.value
  • 即征即退什么时候确认收入
  • 河南电子税务局官网入口
  • 提高税务干部七种能力的意义
  • 白云区嘉禾税务局地址
  • 辽宁网上怎么申请港澳签证流程
  • 孝感契税缴纳标准
  • 一般纳税人忘记报税一个月罚多少钱
  • 我国国家宪法日是每年的十二月几日
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设