如何在koa-router中使用body-parser - CNode技术社区

如何在koa-router中使用body-parser
发布于 9 年前 作者 without-yy 9566 次浏览 来自 问答
const Koa = require('koa');
const app = new Koa();
const router = require('koa-router')();
const bodyParser = require('koa-bodyparser');
app.use(router.routes());
app.use(bodyParser());
router.post('/test', async function (next) {
 this.body = this.request;
 console.log(`我是router中的=====> ${JSON.stringify(this.request.body)}`);
});
app.use(async ctx=> {
 console.log(`我不是router中的=====> ${JSON.stringify(ctx.request.body)}`);
 ctx.body = ctx.request.body;
});
app.listen(3000);
//打印结果
我不是router中的=====> {"tt":"11"}
我是router中的=====> undefined
使用postman测试
/**
	"koa": "^2.1.0",
 "koa-bodyparser": "^4.1.0",
 "koa-router": "^5.4.0"
*/
3 回复

已经解决 替换下 app.use(router.routes()); app.use(bodyParser()); 顺序就可以了

this 和ctx 可以在同一套代码中混用吗?

@yakczh 只是测试一下啊,koa-router里面直接取this,ctx是在app.use中

回到顶部

AltStyle によって変換されたページ (->オリジナル) /