【koa】服务端获取参数

517 阅读1分钟

www.cnblogs.com/kaiqinzhang…

1.获取query(问号后面的内容)

ctx.query

2.获取路由参数(如'/user/:id'的id)

ctx.param

3.获取body请求体

 koa不能直接获取请求体里的body,需要安装一个中间件(koa-bodyparser)

# 安装:
npm i koa-bodyparser --save

-------------

const Koa = require('koa');
const Router = require('koa-router');
const bodyparser = require('koa-bodyparser');
const app = new Koa();
const router = new Router();
const userRouter = new Router({prefix:'/user'})


router.get('/',(ctx)=>{
    ctx.body = "这是主页!"
})

userRouter.get('/',(ctx)=>{
    ctx.body = "这是get!"
})

userRouter.post('/',(ctx)=>{
    console.log(ctx.request.body)//这样获取body
    ctx.body = "111"
})

userRouter.get('/:id',(ctx)=>{
    ctx.body = `这是${ctx.params.id}`
})

app.use(bodyparser())  //一定要写前面,写后面使用时还没有注册进来
app.use(router.routes())//把router注入app
app.use(userRouter.routes())//把router注入app
app.use(userRouter.allowedMethods())//用来相应options方法。




app.listen(3000)

5.获取header

ctx.header.content-type

-----------------------------------------------------------------

示例:

const Koa = require('koa');
const Router = require('koa-router');
const bodyparser = require('koa-bodyparser');


const app = new Koa();
const router = new Router();
const userRouter = new Router({prefix:'/user'})


router.get('/',(ctx)=>{
    ctx.body = "这是主页!"
})

userRouter.get('/',(ctx)=>{
    ctx.body = "这是get!"
})

//http://localhost:3000/user/

userRouter.post('/',(ctx)=>{
    console.log(ctx.request.body)//这样获取body
    ctx.body = {
        code: 200,
        data: ctx.request.body
    }
})

//http://localhost:3000/user/1

userRouter.get('/:id',(ctx)=>{
    ctx.body = `这是${ctx.params.id}`
})

app.use(bodyparser())  //一定要写前面,写后面使用时还没有注册进来
app.use(router.routes())//把router注入app
app.use(userRouter.routes())//把router注入app
app.use(userRouter.allowedMethods())//用来相应options方法。


app.listen(3000);
console.log('app started at port 3000...');