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

  • 海康威视怎么连接手机远程监控(海康威视怎么连接萤石云)

    海康威视怎么连接手机远程监控(海康威视怎么连接萤石云)

  • 同娱app怎么一起看电影(同娱怎么同屏)

    同娱app怎么一起看电影(同娱怎么同屏)

  • win7蓝牙怎么打开(win7蓝牙怎么打开?)

    win7蓝牙怎么打开(win7蓝牙怎么打开?)

  • 喜马拉雅网络请求失败(喜马拉雅 发生网络错误,您可尝试关闭)

    喜马拉雅网络请求失败(喜马拉雅 发生网络错误,您可尝试关闭)

  • 华为手机突然发热严重(华为手机突然发热怎么回事)

    华为手机突然发热严重(华为手机突然发热怎么回事)

  • 钉钉换手机登录管理员能看到么(钉钉换手机登录聊天记录还在吗)

    钉钉换手机登录管理员能看到么(钉钉换手机登录聊天记录还在吗)

  • 笔记本cpu95度会烧坏吗(笔记本cpu九十几度)

    笔记本cpu95度会烧坏吗(笔记本cpu九十几度)

  • 卡贴机信号稳定吗(卡贴机没信号)

    卡贴机信号稳定吗(卡贴机没信号)

  • 苹果备份微信聊天记录还在吗(苹果备份微信聊天记录软件)

    苹果备份微信聊天记录还在吗(苹果备份微信聊天记录软件)

  • 为什么打开数据连接却上不了网(为什么打开数据网络不能用)

    为什么打开数据连接却上不了网(为什么打开数据网络不能用)

  • 小米手机的健康软件在哪里(小米手机的健康管理在哪里)

    小米手机的健康软件在哪里(小米手机的健康管理在哪里)

  • ios10怎么取消自动续费(如何取消苹果手机的自动)

    ios10怎么取消自动续费(如何取消苹果手机的自动)

  • 淘宝tb号是什么意思(tb开头的淘宝账号怎么查询)

    淘宝tb号是什么意思(tb开头的淘宝账号怎么查询)

  • vivos1出来多久了(vivos1几几年出的)

    vivos1出来多久了(vivos1几几年出的)

  • 手机酷狗怎么显示歌词(手机酷狗怎么显示频谱)

    手机酷狗怎么显示歌词(手机酷狗怎么显示频谱)

  • vivo怎么改手机型号(vivo怎么改手机下面的三个按键?)

    vivo怎么改手机型号(vivo怎么改手机下面的三个按键?)

  • 拼多多极速退款在哪里看(拼多多极速退款商家申诉能追回钱来吗)

    拼多多极速退款在哪里看(拼多多极速退款商家申诉能追回钱来吗)

  • ps怎么设计海报字体的(ps怎么设计海报背景图)

    ps怎么设计海报字体的(ps怎么设计海报背景图)

  • oppo手机流量监控在哪(oppo手机流量监控在哪里设置)

    oppo手机流量监控在哪(oppo手机流量监控在哪里设置)

  • app开发应注意哪些方面(app开发应注意哪些问题)

    app开发应注意哪些方面(app开发应注意哪些问题)

  • 【大学生期末大作业】HTML+CSS+JavaScript — 模仿博客网站设计(Web)(大学期末 知乎)

    【大学生期末大作业】HTML+CSS+JavaScript — 模仿博客网站设计(Web)(大学期末 知乎)

  • 电脑屏幕字体模糊调整清晰教程(电脑屏幕字体模糊怎么办)

    电脑屏幕字体模糊调整清晰教程(电脑屏幕字体模糊怎么办)

  • 注册资本没有到位可以注销吗
  • 增值税留抵退税怎么做账务处理
  • 油库存油租赁
  • 免税外汇商品
  • 运输费增值税专用发票几个点
  • 融资租赁承租方增值税处理
  • 建筑业统一发票税率多少
  • 个体工商户办税务
  • 调增企业所得税怎么算
  • 优惠券抵扣账务处理流程
  • 股权收购溢价的原因
  • 补缴以前年度养老保险能否税前扣除
  • 银行结算方式包括哪些内容
  • 限额领料单属于什么原始凭证
  • 合并报表汇兑损益怎么填
  • 个人电话费发票可以入账吗
  • 关于免租金的法律规定
  • 报销单大写金额填写格式1000
  • 小规模纳税人1%税收优惠
  • 企业财务负责人和办税人哪个责任大
  • 团队建设费用怎么入账
  • 发票认证的三种方式
  • 土地使用权摊销年限最新规定
  • 进货折让会计分录
  • 科研机构进口直接用于科学研究的仪器免征增值税吗
  • 合并报表的范围
  • 报关单上的生产销售单位
  • msmpeng.exe是什么进程
  • win10任务栏怎么隐藏
  • 支付的测试报告怎么查
  • 利息收入结转的正确分录
  • 苹果系统公测版
  • 发票未报送怎么回事
  • 运输行业增值税税负率是多少
  • 索尔兹伯里评价
  • PHP jQuery+Ajax结合写批量删除功能
  • php十进制转二进制算法
  • 利润表其他综合收益的税后净额计算公式
  • echarts柱状图坐标轴
  • 无形资产的处置方式
  • spring boot s
  • php实现当前页面的快捷键
  • thinkphp import
  • 工作服钱可否收取
  • 固定资产实收资本按照什么入账
  • 什么叫做归属
  • 不可抵消
  • 工程施工企业转账手续费计入什么会计科目
  • 无票收入会计分录实例
  • 飞机票抵扣进项税怎么填附表二
  • 进口化妆品品牌大全
  • 股权转让完税证明图片
  • 基本户收到零余额转款怎么做分录
  • 微信收款会计分录怎么写
  • 核定征收的一般纳税人进项税额抵扣
  • 一般纳税人纳税申报表
  • 验资户和基本户账号一致么
  • 房地产预交税金怎么算
  • 发票开票服务名称
  • 境外机构境内外汇账户管理办法
  • asp.net select
  • mysql 5.7.33安装
  • 微软9月补丁
  • mac安装windows10体验
  • winxp回收站在哪里
  • unix命令大全
  • 如何让win8系统变快
  • win10系统自带杀毒软件
  • linux给文件赋予权限
  • javascript入门教程
  • nodejs require 路径查找
  • js中写for循环
  • js过滤字符串中的特殊字符
  • jquery动效
  • python黑魔法手册
  • 深入理解计算机系统
  • jquery全选和全不选效果
  • 山东税务申报如何网上申报
  • 安徽省地方税务局刘利庆
  • 企业税务状态查询网站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设