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 请求中,问题已解决。