老师,你好,关于const { body } = ctx.request
来源:2-5 Koa开发RESTful接口,GET&POST获取数据及数据格式化方法【进阶篇】
qq_潇生落雨_0
2020-01-02 22:28:19
老师,你好,我按照你课程的写法去实践,遇到了一件不是很理解的事:
大致代码如下:
router.post('/post', (ctx, next) => {
const { body } = ctx.request
console.log(ctx.request);
console.log(body)
})输出的对象如下:
{ 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确实可以输出我传入的参数
请问这个老师知道是为什么吗?
附完整代码
/* 写一个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)3回答
是不是post的时候没有传?

qq_潇生落雨_0
提问者
2020-01-07

qq_潇生落雨_0
提问者
2020-01-06
不是的,我好奇的是为什么我使用命令行console.log出来的结果里面是没有body的(第一张图),但实际上body应该是存在的,我也试了一下,调试模式下确实是可以看到body(第二张图):调试的ctx.request以及左侧的调试界面变量里也看到了body的值。


相似问题