Запрос Koa2.тело пусто

Я работаю над веб-сервисом с koa2 и node6. Мои зависимости 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());

Когда я пытаюсь записать тело запроса, это пустой объект. С другой стороны, эта установка отлично работает с другими людьми в этом проекте.

Что я делаю не так? Я использую устаревшую зависимость?


person Uğurcan Şengit    schedule 09.08.2016    source источник
comment
Были ли ваши маршруты зарегистрированы после bodyParser?   -  person Paweł Lula    schedule 14.08.2016
comment
Да, я обнаружил проблему на самом деле. Это было только потому, что я забыл добавить заголовок типа контента.   -  person Uğurcan Şengit    schedule 14.08.2016
comment
Нужно ли определять маршруты до bodyParser?   -  person chovy    schedule 22.09.2019


Ответы (1)


Добавление заголовка Content-type: application/json к моему запросу Postman решило проблему.

person Uğurcan Şengit    schedule 14.08.2016