2016-08-09 3 views
0

Ich arbeite an einem Webservice mit koa2 und node6. Meine Koa-Abhängigkeiten wie folgt;Koa2 request.body ist leer

"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", 

Meine Implementierung ist so;

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

In einer anderen Klasse, binde ich diese Route App. Auch ich habe bodyParser wie folgt zu den Koa hinzugefügt;

Wenn ich versuche, den Anfragetext zu protokollieren, ist es ein leeres Objekt. Auf der anderen Seite funktioniert dieses Setup gut mit anderen Leuten in diesem Projekt.

Was mache ich falsch? Benütze ich eine veraltete Abhängigkeit?

+0

Haben Sie Ihre Routen nach bodyParser registriert? –

+0

Ja, ich habe das Problem tatsächlich herausgefunden. Ich habe nur vergessen, Content-Type-Header hinzuzufügen. –

Antwort

0

Hinzufügen von Content-type: application/json Header zu meinem Postbittenantrag, das Problem behoben.