1.新建一个jwttest.router.js

引入toast

const {success,fail} = require("../toast");
const jwt = require("jsonwebtoken");
const key="web";
module.exports = function (router){
    router.post("/login",async ctx=>{
        const {name,pwd} = ctx.request.body;
        if(name==="admin" && pwd==="123456"){
            const token = jwt.sign({name:"admin"},key,{expiresIn:300})
            return success(ctx, "Bearer " + token);
        }else{
            return fail(ctx,"账号和密码不正确");
        }
    }).get("/data",async ctx=>{
        return success(ctx,{});
    })
};
 
在app.js中引入jwttest
// 引入类
const Koa =require('koa');
// 引入koa-router
const Router =require('koa-router');
// 引入koa-body
const koaBody=require('koa-body');
const tagRouter =require("./routers/tag.router");
const userRouter =require("./routers/user.router");
const contentRouter =require("./routers/content.router");
const jwtRouter =require("./routers/jwttest.router");
const {fail} = require("./toast");
const jwt = require("jsonwebtoken");
const key="web";
// 创建对象
const app =new Koa();
app.use(koaBody({
    strict:false
}));
app.use(async (ctx,next) =>{
    const exp = [
        '/login',
        '/',
        'register',
    ]; //不需要验证的地址
    if(exp.includes(ctx.url)){
        await next();
        return;
    }
    console.log(ctx.headers)
    const authorization = ctx.headers.authorization;
    if(!authorization){
         return fail(ctx,"请添加 token 信息");
    }
    const token = authorization.split(' ')[1];
    try{
         const user =jwt.verify(token,key);
         if(user.name==="admin"){
            await next();
         }else{
            return fail(ctx,"权限不足");
        }
    }catch(error){
        return fail(ctx,error);
    }
})
const router =new Router({// 可以传递参数配置路由前缀
});
tagRouter(router);
userRouter(router);
contentRouter(router);
jwtRouter(router);
 
app.use(router.routes());
app.use(router.allowedMethods({
}));
// localhost:3000
app.listen(8000,()=>{
   console.log("http://localhost:8000");
});
 
最后通过text.http查看是否显示正确
@url =http://localhost:8000
@json=Content-Type: application/json
@auth=Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiYWRtaW4iLCJpYXQiOjE2Mzg1MjA5MDAsImV4cCI6MTYzODUyMTIwMH0.PAvCI6TsrzYs7_P4e4v_ieLlLJY-iT0ro42oTYFhV1Q
### 登录
POST {{url}}/login
{{json}}
{
    "name":"admin",
    "pwd":"123456"
}
### 获取数据
GET {{url}}/data
{{auth}}
### 查询
GET {{url}}/tag
{{auth}}
### 添加
POST {{url}}/tag
{{auth}}
{{json}}
#content
//表单方式
# id=1000&name="张三"
{
    "text":"6234"
}
### 删除
DELETE {{url}}/tag
{{auth}}
{{json}}
{
    "_id":"61a887ada8457be730ee21d6"
}
### content 查询
GET {{url}}/content
{{auth}}
### content 添加
POST {{url}}/content HTTP/1.1
{{auth}}
{{json}}
{
    "title":"孤独的根号三",
    "content":"一个孤独的根号三七八九"
   
}
### 删除
DELETE {{url}}/content
{{auth}}
{{json}}
{
    "_id":"61a889f2116f2745d91ff7e6"
}
### 修改
PUT {{url}}/content?_id=61a88dcf1509ffac77824c93
{{auth}}
{{json}}
{
    "top":"true"
}
### user 查询
GET {{url}}/user HTTP/1.1
{{auth}}
### user 添加
POST {{url}}/user HTTP/1.1
{{auth}}
{{json}}
{
    "name":"小明",
    "password":"12233yfr",
    "email":"1637743640@qq.com",
    "namegrop":"限制会员"
}
### user删除
DELETE {{url}}/user
{{auth}}
{{json}}
{
    "_id":"61a88c540d6c4ff5952338c6"
}
### user修改
PUT {{url}}/user?_id=61a88df389ca9f8a670616ef
{{auth}}
{{json}}
{
    "name":"小红"
}

nodejs的增删改查的更多相关文章

  1. easyui+nodejs+sqlserver增删改查实现

    用到的模块或者技术: Express: http://www.expressjs.com.cn/4x/api.html#express Easyui: http://www.jeasyui.com/d ...

  2. nodejs+express+mysql 增删改查

    之前,一直使用的是nodejs+thinkjs来完成自己所需的项目需求,而对于nodejs中另外一中应用框架express却了解的少之又少,这两天就简单的了解了一下如何使用express来做一些数据库 ...

  3. nodejs+express+mysql实现restful风格的增删改查示例

    首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...

  4. nodejs+express+mysql 增删改查(二)

    1.最早一篇关于express框架简单的增删改查文章,http://www.cnblogs.com/zhengyeye/p/nodejs.html#3947308:意外走红博客园,无奈自己之前一直没有 ...

  5. nodejs对mongodb数据库的增删改查操作(转载)

    首先要确保mongodb的正确安装,安装参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-l ...

  6. 进入全屏 nodejs+express+mysql实现restful风格的增删改查示例

    首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...

  7. 69.nodejs对mongodb数据库的增删改查操作

    转自:https://www.cnblogs.com/sexintercourse/p/6485381.html 首先要确保mongodb的正确安装,安装参照:http://docs.mongodb. ...

  8. 使用nodejs连接mysql数据库实现增删改查

      首先要有数据库 使用xampp 或者 phpstudy 可以傻瓜式安装 新建一个项目文件夹 之后在这个目录下初始化package.json (npm init) 先在项目中安装mysql 和 ex ...

  9. 基于nodejs+express+mysql+webstorm+html的 增删改查

    一.工具准备 Nodejs框架,WebStorm.Mysql服务.Navicat.此篇文章只讲项目的搭建过程,至于Nodejs,WebStorm.Mysql的下载.安装与配置网上资源很多,请自行查阅, ...

  10. 简单实现 nodejs koa2 mysql 增删改查 制作接口

    1.首先 在电脑上安装 nodejs (此处略过) 2.全局安装 koa2 (这里使用的淘宝镜像cnpm,有兴趣的同学可以自行搜索下) cnpm install koa-generator -g 3. ...

随机推荐

  1. Leecode剑指 Offer 07. 重建二叉树

    输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字. 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inor ...

  2. CAD安装失败,如何才能删除(卸载)CAD?三步完美卸载CAD软件

    CAD安装失败,怎么样才能彻底删除CAD各种残留注册表?有时候我们想将CAD重新安装,但却显示CAD已经安装,但又不见CAD软件程序文件,然后我们就会产生这样的疑问:CAD无法重新安装是怎么一回事?下 ...

  3. python中的KeyError报错

    from util import str_util #业务逻辑:兼容不同的结构体:resCode转化数据 #检查字典中是否存在键 if 'resCode' not in resultJson if ' ...

  4. zerotier的planet服务器(根服务器)-搭建教程

    应用场景介绍: 利用阿里云服务器,搭建根服务器,把不同局域网打通,实现内网穿透,远程控制. 准备工具:  1.服务端:云服务器(有公网IP)Centos 7.6 2.客户端:   工控机(或者家里电脑 ...

  5. 5-6:实现多窗口之异常(AttributeError: 'list' object has no attribute 'click')

    代码: #coding = utf-8 from selenium import webdriver import time ##############5-6:实现多窗口切换_start###### ...

  6. 裁员潮下,我月薪3W依旧坚挺

    近几年来产品经理一直是求职市场中的香饽饽: 年薪20w起.没有专业限制.职业天花板高,甚至行业中一直流传着一句话:产品经理是CEO的学前班. 在各种光环的加持下,不少应届生或有转行打算的职场人都将目光 ...

  7. 利用 fastjson 的 toJSONStringWithDateFormat 方法,将Date 格式化 为常见类型的时间

    利用 fastjson 的 toJSONStringWithDateFormat 方法,将Date 格式化 为常见类型的时间 JSON.toJSONStringWithDateFormat(nrcSt ...

  8. 此平台不支持虚拟化的 Intel VT-x/EPT。不使用虚拟化的 Intel VT-x/EPT,是否继续?

    1.cpu虚拟化是否打开 2.Windows安全中心>设备安全性>内核隔离

  9. linux服务器项目迁移非常好用的工具scp和rsync

    linux系统下一般都安装了,启用一下就可以了 (1):编辑配置文件 # sudo vi /etc/default/rsync #ubuntu  # vi /etc/xinetd.d/rsync #c ...

  10. mongodb更改账户密码

    docker部署方式更改 sudo docker exec -it mongodb mongo admin (登录数据库容器) use admin db.auth('admin','shijiehep ...