koa2

npm安裝javascript

npm i koa --save

 router安裝java

npm install koa-router --save

 get請求獲取請求頭參數mongodb

router.get('/listData', async (ctx, next) =>{  //ctx 包含了request 和response
    console.log(ctx.query);  //{ aid: '123' }       獲取的是對象   用的最多的方式  **推薦
    console.log(ctx.querystring);  //aid=123&name=zhangsan      獲取的是一個字符串
    console.log(ctx.url);   //獲取url地址
    let obj = {
        name:'guangfa',
        age:18
    }
    ctx.body = obj //ctx.body返回數據
})

 post須要用到Koa 中koa-bodyparser中間件npm

 1.安裝 npm install --save koa-bodyparser跨域

 2.app.js引入使用他(注意要在router前引入和使用)app

const bodyParser = require('koa-bodyparser'); //post請求的中間件
app.use(bodyParser());

 

 app.js 
1
const Koa = require('koa') 2 const bodyParser = require('koa-bodyparser'); //post請求的中間件 3 4 const app = new Koa() 5 6 app.use(bodyParser()); 7 8 let router = require('./router/allRoute') //引入路由 9 10 app.use(router.routes()) //使用路由和啓用 11 app.use(router.allowedMethods()); 12 13 14 app.listen(3000,()=>{ 15 console.log('服務已經啓動 經過http://192.168.0.4:3000/') 16 })

 

aiiRouter.js
1
//總路由配置 2 3 const router = require('koa-router')(); 4 5 router.get('/listData', async (ctx, next) =>{ //ctx 包含了request 和response 6 console.log(ctx.query); //{ aid: '123' } 獲取的是對象 用的最多的方式 **推薦 7 console.log(ctx.querystring); //aid=123&name=zhangsan 獲取的是一個字符串 8 console.log(ctx.url); //獲取url地址 9 let obj = { 10 name:'guangfa', 11 age:18 12 } 13 ctx.body = obj //ctx.body返回數據 14 }) 15 16 router.post('/login', async (ctx, next) =>{ 17 //ctx.request.body 獲取post請求的參數 18 ctx.body = ctx.request.body 19 }) 20 module.exports = router; //導出路由

 mongodb可視化管理工具https://www.mongodb.com/download-center/compass?jmp=herokoa

koa2配置跨域 , 拷貝放入app.js 在使用路由前面配置async

app.use(async (ctx, next)=> {
    ctx.set('Access-Control-Allow-Origin', '*');
    ctx.set('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
    ctx.set('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
    if (ctx.method == 'OPTIONS') {
      ctx.body = 200; 
    } else {
      await next();
    }
  });
相關文章
相關標籤/搜索