Node+Koa+koa-router 實現一個RESTful風格的增刪改查
阿新 • • 發佈:2020-11-14
var Koa = require('koa'); var Router = require('koa-router'); //koa-body 獲取post穿過來的資料 var koaBody = require('koa-body'); 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)