Koa2 request.body 为空
Koa2 request.body is empty
---这个问题很老,这里使用的库很可能已经过时,解决方案仍然正确,但请使用最新版本---
我正在使用 koa2 和 node6 开发 Web 服务。我的koa依赖如下;
"koa": "^2.0.0-alpha.4",
"koa-async-body": "^1.0.4",
"koa-bodyparser": "^3.2.0",
"koa-logger": "^1.3.0",
"koa-router": "^7.0.1",
我的实现是这样的;
const apiPrefix = 'api',
apiParent = 'auth',
api = 'register',
router = new Router();
router.prefix(`/${apiPrefix}/${apiParent}/${api}`);
router.post('/', async(context, next) => {
try {
console.log(context.request.body);
context.body = await post(context.request.body);
await next();
} catch (err) {
context.throw(500);
}
});
在另一个class中,我将此路由绑定到应用程序。我还按如下方式将 bodyParser 添加到 Koa;
const app = new Koa();
app.use(bodyParser());
当我尝试记录请求正文时,它是一个空对象。另一方面,此设置适用于此项目中的其他人。
我做错了什么?我使用的是过时的依赖项吗?
将 Content-type: application/json
header 添加到我的 Postman 请求中,问题已解决。
---这个问题很老,这里使用的库很可能已经过时,解决方案仍然正确,但请使用最新版本---
我正在使用 koa2 和 node6 开发 Web 服务。我的koa依赖如下;
"koa": "^2.0.0-alpha.4",
"koa-async-body": "^1.0.4",
"koa-bodyparser": "^3.2.0",
"koa-logger": "^1.3.0",
"koa-router": "^7.0.1",
我的实现是这样的;
const apiPrefix = 'api',
apiParent = 'auth',
api = 'register',
router = new Router();
router.prefix(`/${apiPrefix}/${apiParent}/${api}`);
router.post('/', async(context, next) => {
try {
console.log(context.request.body);
context.body = await post(context.request.body);
await next();
} catch (err) {
context.throw(500);
}
});
在另一个class中,我将此路由绑定到应用程序。我还按如下方式将 bodyParser 添加到 Koa;
const app = new Koa();
app.use(bodyParser());
当我尝试记录请求正文时,它是一个空对象。另一方面,此设置适用于此项目中的其他人。
我做错了什么?我使用的是过时的依赖项吗?
将 Content-type: application/json
header 添加到我的 Postman 请求中,问题已解决。