javascript
  • async-await
  • ecmascript-6
  • koa2
  • 2016-08-09 44 views 0 likes 
    0

    我正在使用koa2和node6的Web服務。我的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標題添加到我的郵遞員請求中,解決了問題。

    相關問題