2016-08-09 1 views
0

Я работаю над веб-службой с koa2 и node6. Мои зависимости от koa следующим образом;Koa2 request.body пуст

"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); 
 
    } 
 
});

В другом классе, я связываю это путь к приложению. Также я добавил bodyParser к Koa следующим образом;

const app = new Koa(); 

app.use(bodyParser()); 

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

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

+0

У вас есть ваши маршруты, зарегистрированные после BodyParser? –

+0

Да, я обнаружил проблему на самом деле. Это было просто из-за того, что я забыл добавить заголовок типа контента. –

ответ

0

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

Смежные вопросы