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

  • 叮咚买菜怎么设置支付密码(叮咚买菜怎么设置登录密码)

    叮咚买菜怎么设置支付密码(叮咚买菜怎么设置登录密码)

  • 手机清理缓存在哪里清理(手机清理缓存在哪里清理?)

    手机清理缓存在哪里清理(手机清理缓存在哪里清理?)

  • 电脑强制关机对电脑有伤害吗(电脑强制关机对机械硬盘有影响吗)

    电脑强制关机对电脑有伤害吗(电脑强制关机对机械硬盘有影响吗)

  • 红米note7听筒声音小怎么解决(redmi note7听筒声音小)

    红米note7听筒声音小怎么解决(redmi note7听筒声音小)

  • 微信修改头像限制次数了吗(微信修改头像限制怎么办)

    微信修改头像限制次数了吗(微信修改头像限制怎么办)

  • 此wlan网络使用较旧的安全标准(此wlan网络使用将逐步淘汰的安全标准)

    此wlan网络使用较旧的安全标准(此wlan网络使用将逐步淘汰的安全标准)

  • 淘宝五星好评忘记截图怎么找回(淘宝五星好评忘记截图怎么找回 视频)

    淘宝五星好评忘记截图怎么找回(淘宝五星好评忘记截图怎么找回 视频)

  • 桌面的新含义是什么意思(桌面的新含义是什么四年级)

    桌面的新含义是什么意思(桌面的新含义是什么四年级)

  • 抖音最长视频多少时间(抖音视频 最长)

    抖音最长视频多少时间(抖音视频 最长)

  • 微电网是什么(微电网)

    微电网是什么(微电网)

  • 强制启用4xmsaa是什么意思(强制启用4xmsaa什么用)

    强制启用4xmsaa是什么意思(强制启用4xmsaa什么用)

  • 华为畅享10s怎么截长图(华为畅享10s怎么隐藏应用)

    华为畅享10s怎么截长图(华为畅享10s怎么隐藏应用)

  • 手机放两张卡网速变慢(手机装两张卡网络变卡)

    手机放两张卡网速变慢(手机装两张卡网络变卡)

  • 抖音视频零播放量是什么情况(抖音视频零播放会限流吗)

    抖音视频零播放量是什么情况(抖音视频零播放会限流吗)

  • 钉钉可以看到学生分屏吗(钉钉可以看到学生吗?)

    钉钉可以看到学生分屏吗(钉钉可以看到学生吗?)

  • esd是什么文件(esd文件跟gho)

    esd是什么文件(esd文件跟gho)

  • 微博聊天记录怎么恢复(微博聊天记录怎么导出)

    微博聊天记录怎么恢复(微博聊天记录怎么导出)

  • vue如何放大字体(vue字体大小自适应)

    vue如何放大字体(vue字体大小自适应)

  • 手机管家应用锁在哪(手机管家应用锁密码忘了怎么解)

    手机管家应用锁在哪(手机管家应用锁密码忘了怎么解)

  • 拼多多怎么查消费历史(拼多多怎么查消费账单)

    拼多多怎么查消费历史(拼多多怎么查消费账单)

  • 快狗打车可以提供发票吗(快狗打车提现什么时候到账)

    快狗打车可以提供发票吗(快狗打车提现什么时候到账)

  • 微信绑定的手机号不用了怎么找回密码(微信绑定的手机号可以更换吗)

    微信绑定的手机号不用了怎么找回密码(微信绑定的手机号可以更换吗)

  • 迅雷闪退怎么处理(迅雷app闪退)

    迅雷闪退怎么处理(迅雷app闪退)

  • 苹果xr是屏幕指纹吗(苹果xr是屏幕指纹锁吗)

    苹果xr是屏幕指纹吗(苹果xr是屏幕指纹锁吗)

  • 微信怎么发状态(微信怎么发状态 不发图)

    微信怎么发状态(微信怎么发状态 不发图)

  • js中异步是什么意思(js异步方式有哪些)

    js中异步是什么意思(js异步方式有哪些)

  • 捐赠支出税前扣除条件
  • 固定资产登记在三栏式吗
  • 记账凭证填错了怎么改
  • 注销股本对所有股票影响
  • 个人开具发票需要税号吗
  • 金蝶销售订单和采购订单关联
  • 申报过后财务报告怎么查
  • 小规模纳税人季报还是月报?
  • 有两种税率的如何填申报表
  • 企业未按规定取得发票如何处理
  • 房屋租赁合同印花税谁交
  • 季节性停工折旧吗
  • 经营租赁的资产应计入哪里
  • 销售不同税率的货物会计处理
  • 收到电子承兑汇票的账务处理
  • 新公司成立前期人员配置
  • 新公司注册后先开户还是先税务登记
  • 增值税电子普通发票怎么下载
  • 最新事业单位固定资产折旧规定
  • 开发转产品好转吗
  • 进的货没有入库怎么处理
  • 烟酒专用发票能抵税吗
  • 物流服务费税率是多少
  • 软件外包付款流程
  • 汇算清缴补缴税款分录小企业会计
  • 海尔笔记本最新款
  • 期末留抵税额退税额
  • 收不到的物业费是否增值税确认收入
  • 个人以房产投资一人有限公司时,房产要开发票吗
  • 一次性开票分期确认收入如何纳税申报
  • 国产linux系统有哪些
  • php7多线程
  • 如何用mac制作ppt
  • PHP:session_unregister()的用法_Session函数
  • 环形链表入口节点
  • moviemaker是什么软件
  • 微信小程序完美修真攻略
  • PHP:imagetypes()的用法_GD库图像处理函数
  • 凭证包括几个部分
  • 弥补以前年度亏损后缴纳所得税
  • 企业进项税大于销项税财务怎么做分录
  • php面向对象的三大特征
  • 一般纳税人设备安装税率
  • 增值税及附加交给国税还是地税
  • 平均股东权益在哪里看
  • 参加会计专业技术资格考试的人员,应具备那些条件
  • 生产成本与管理企业经营实战感想
  • 内部审计主要目的
  • 公司的装修费计入什么科目
  • 研发费用形成无形资产的摊销怎么处理
  • 计提附加税费是什么意思
  • 本年利润为
  • 公司借款私人账户
  • 本月暂估入库,下月
  • 法院的申请执行费是多少
  • 收到专票可以不签字吗
  • 如何在sql server表中添加数据表格为什么没有显示
  • sql合并数据库
  • 数据库设计三大范式
  • sqlserver数据类型real
  • windows 10 build 9888
  • centos更新yum update
  • 包含正在使用的windows版本 无法格式化
  • win8系统崩溃无法开机
  • linux讲解
  • cocos-creator
  • ES6 javascript的异步操作实例详解
  • bootstrap 下拉框绑定数据
  • 非递归快速排序python
  • nodejs爬虫 与python爬虫
  • 有道词典下载安装
  • Linux 中的Edquota命令
  • jquery 获取滚动距离
  • python 文件操作,读,写,指定位置
  • python 获取uuid
  • jquery获取单选按钮的值
  • jquery的点击事件怎么写
  • 安卓activity类
  • 税控盘反写后才能开票吗
  • 接受虚开增值税普票如何补救
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设