nodejs学习笔记15-koa获取传参及动态路由

408 阅读1分钟

app.js

const Koa = require('koa');
const router = require("koa-router")(); // 引入和实例化路由 推荐
const bodyParser = require("koa-bodyparser"); // 用于获取post传值

const app = new Koa();

// 注册中间件
app.use(bodyParser());

// 配置路由
router.get('/', async(ctx)=>{
  ctx.body = '首页';
});

router.get('/details', async(ctx)=>{
  // 获取get传值 在 koa2 中 GET 传值通过 request 接收,但是接收的方法有两种:query 和 querystring。
  console.log(ctx.query)  // 返回的是格式化好的参数对象。 
  console.log(ctx.querystring)  // 返回的是请求字符串。
  console.log(ctx.url)  // 获取url地址
  console.log(ctx.request.query) 
  console.log(ctx.request.querystring)  
  console.log(ctx.request.url)  // 返回的是请求字符串。
  
  ctx.body = '详情页面';
})

// 动态路由
router.get('/news/:nid', async(ctx)=>{
  
  console.log(ctx.params); // {nid: '123'}获取动态路由的返回值
  ctx.body = '详情页面';
})

router.post('/login', async(ctx)=>{
   const data = ctx.request.body; // {"test": "11","name": "22"}
   ctx.body = {
    "code": 200,
    "msg": "登录成功!"
   };
})

// 启动路由
app.use(router.routes()); // 启动路由   可以链式调用
app.use(router.allowedMethods()); // 可配磕不配

app.listen(8081);