Node+Koa+koa-router 实现一个RESTful风格的增删改查

//koa web 框架
const Koa = require('koa');
//koa-router 创建路由
const Router = require('koa-router');
//中间件   配置pug模板
const views = require('koa-views');
//获取静态资源
const server = require('koa-static');
var app = new Koa();
var router = new Router()
app.use(koaBody());
var Users = [
    {
        id: 1,
        name: '小红',
        age: '12'
    },
    {
        id: 2,
        name: '小明',
        age: '23'
    }
]
//get users/:id 查询数据
router.get('/users/:id', (ctx) => {
    // params 获取get方式的值
    let { id } = ctx.params;
    ctx.body = Users.find(u => u.id = id);
});

//post 创建数据 user/:id 创建
router.post('/users/', (ctx) => {
    //获取post传过来的数据
    let { name, age } = ctx.request.body;

    Users.push(
        {
            id: Users.length + 1,
            name, age

        }
    )
    ctx.body = Users;
})

//更新 //user/:id
router.put('/users/:id', (ctx) => {
    let { id } = ctx.params;
    let { name, age } = ctx.request.body;
    let user = Users.find(data => data.id == id);
    if (user) {
        user.name = name;
        user.age = age;
    }
    ctx.body = Users;
})

// delete或del简写 删除数据
router.delete('/users/:id', (ctx) => {
    console.log(ctx.params.id)
    console.log(ctx.request.body.id)
    ctx.body = Users.filter(i => i.id != ctx.params.id);
})


app.use(router.routes())
app.listen(1001)

 

posted @ 2020-11-14 21:31  张胖胖-007  阅读(270)  评论(0)    收藏  举报