2016-10-31 5 views
0

私はMEANアプリと一緒に作業しています。name,username,passwordと投稿要求を作成しました。これはpostmanクロムアドオンを使用してテストしようとしています。MEAN - `post`はPostmanのテストでエラーメッセージを出し、問題を予測できません。

しかし、私はいつも私のデータの代わりにエラーが表示されています。 は、私はこのようなdbと接続しています:ここ

"use strict"; 

var User = require('../models/userModel'); 

module.exports = function(express, app){ 

    var openApi = express.Router(); 

    openApi.post('/create', function(req, res){ 

     var user = new User(); 

     var name = req.body.name; 
     var username = req.body.username; 
     var password = req.body.password; 

     console.log(name, username, password + '\n' + user); 


     user.save(function(err) { 

      if (err) { 

       // duplicate entry 
       if (err.code == 11000) 

        return res.json({ success: false, message: 'A user with that username already exists. '}); 

       else 

        return res.send(err); //always getting this! 
      } 

      res.json({ message: 'User created!' }); 
     }); 

    }); 

    //prefixing the open apis 
    app.use('/open', openApi); 

    return openApi; 

} 

postmanからのエラーされています:

mongoose.connect('mongodb://jbarif:[email protected]:47975/family', function(err) { 

    if(err) console.log(err); 

    console.log('connection successful!'); //getting consoled 

}); 

は、このようなデータを掲示するあなたの知識のための

{ 
    "message": "User validation failed", 
    "name": "ValidationError", 
    "errors": { 
     "password": { 
      "message": "Path `password` is required.", 
      "name": "ValidatorError", 
      "properties": { 
       "type": "required", 
       "message": "Path `{PATH}` is required.", 
       "path": "password" 
      }, 
      "kind": "required", 
      "path": "password" 
     }, 
     "username": { 
      "message": "Path `username` is required.", 
      "name": "ValidatorError", 
      "properties": { 
       "type": "required", 
       "message": "Path `{PATH}` is required.", 
       "path": "username" 
      }, 
      "kind": "required", 
      "path": "username" 
     } 
    } 
} 

はここに私のserver.jsです:

var 
    express  = require('express'), 
    path  = require('path'), 
    morgan  = require('morgan'), 
    bodyParser = require('body-parser'), 
    port  = process.env.PORT || 8080, 
    mongoose = require('mongoose'), 
    openApi  = require('./app/api/openApi'), 
    familyApi = require('./app/api/familyApi'), 
    app   = express(); 

    //app config;- 

var base  = app.use(express.static(__dirname + '/public')); 
var reqest  = app.use(morgan('dev')); 
var jsonParse = app.use(bodyParser.json()); 
var urlParse = app.use(bodyParser.urlencoded({extended:true})); 


mongoose.connect('mongodb://jbarif:[email protected]:47975/family', function(err) { 

    if(err) console.log(err); 

    console.log('connection successful!'); 

}); 
// mongoose.connect('mongodb://node:[email protected]:13456/practical'); 

    //calling api from another files; 
    openApi(express, app); 
    familyApi(express, app); 


    app.get('/', function(req, res) { 
     res.sendFile(path.join(__dirname + '/public/app/views/index.html')); 
    }); 

    app.get('*', function(req, res, next) { 
     return res.status(404).json({success: false, message: 'Route \'' + req.url + '\' is invalid.'}); 
    }); 

    app.listen(port); 
    console.log('app is listening at', port); 
+0

サンプルボディ? – theAnubhav

答えて

1

ユーザーオブジェクトに何もないので、Mongooseの検証に失敗しています。

変更それに:あなたが作っている要求の

var userData = {name: req.body.name, username: req.body.username, password:req.body.password}; 

var user = new User(userData); 
関連する問題