5

--- この質問はかなり古く、ここで使用されているライブラリはおそらく古くなっています。解決策はまだ正しいですが、最新のバージョンを使用してください ---

私は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);
  }
});

別のクラスで、このルートを app にバインドします。また、次のように bodyParser を Koa に追加しました。

const app = new Koa();

app.use(bodyParser());

リクエスト本文をログに記録しようとすると、空のオブジェクトになります。一方、このセットアップは、このプロジェクトの他の人々とうまく機能します。

私は何を間違っていますか?古い依存関係を使用していますか?

4

1 に答える 1

9

Content-type: application/jsonPostman リクエストにヘッダーを追加して、問題を解決しました。

于 2016-08-14T12:59:38.553 に答える