老师,你好,关于const { body } = ctx.request
老师,你好,我按照你课程的写法去实践,遇到了一件不是很理解的事:
大致代码如下:
1 2 3 4 5 | router.post( '/post' , (ctx, next) => { const { body } = ctx.request console.log(ctx.request); console.log(body) }) |
输出的对象如下:
1 2 3 4 5 6 7 8 9 10 11 12 | { method: 'POST' , url: '/post' , header: { 'content-type' : 'application/json' , 'user-agent' : 'PostmanRuntime/7.21.0' , accept: '*/*' , 'cache-control' : 'no-cache' , 'postman-token' : 'd648b64b-506e-4ce0-a9c0-a747854960ed' , host: 'localhost:3000' , 'accept-encoding' : 'gzip, deflate' , 'content-length' : '23' , connection: 'keep-alive' } } |
按照我的理解,ctx.request不是应该有body这个对象的吗?但是body确实可以输出我传入的参数
请问这个老师知道是为什么吗?
附完整代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | /* 写一个RESTful接口 */ const Koa = require( 'koa' ) const Router = require( 'koa-router' ) const cors = require( '@koa/cors' ) const koaBody = require( 'koa-body' ); const app = new Koa() const router = new Router() router.post( '/post' , (ctx, next) => { const { body } = ctx.request console.log(ctx.request); }) app.use(koaBody()); app.use(cors()); app.use(router.routes()) .use(router.allowedMethods()) app.listen(3000) |
65
收起
正在回答
3回答
是不是post的时候没有传?
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧