nodejs的koa传参校验的手搓

编程入门 行业动态 更新时间:2024-10-26 02:33:16

<a href=https://www.elefans.com/category/jswz/34/1771440.html style=nodejs的koa传参校验的手搓"/>

nodejs的koa传参校验的手搓

第三方的有点搞不懂怎么写的,所以需要手搓一个来尝试一下

我的网站

场景说明:

像是下面这个路由入入口:

/*** token解析用户信息*/
router.post('/loginByToken',userS.getInfoByToken)

你这里的中间件可能会有多个,那么你可以在第一个中间件的文件入口处进行参数校验:
example:

  async getInfoByToken(ctx) {if (!verify(ctx, {require: ["token"]})) {ctx.body = tokenNotExist;return false;}const {token} = ctx.request.body;const user = jwt.verify(token, salt);console.log(user);ctx.body = {code: 200,success: true,message: "获取用户信息成功",result: user};}

这里使用的就是:!verify(ctx, {require: ["token"]})
来进行校验

不通过校验,返回false,并且在失败时,直接返回失败的提示信息tokenNotExist
成功则继续进行
其中require传入的是个Array,是ctx.request.body中必须携带的参数,如果有参数不存在,则不通过,返回false

verify的具体实现代码:

const verify = (ctx, verifyObj) => {const requireList = verifyObj.require;const result = [];requireList.forEach(item => {if (!ctx.request.body[item]) {result.push(`缺少${item}参数`);}});return result.length === 0;
};
module.exports = {verify
};

更多推荐

nodejs的koa传参校验的手搓

本文发布于:2023-11-16 07:38:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1614600.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:nodejs   koa

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!