2016-09-20 2 views
2

В моем index.js файле я следующий пост ...

router.route('/bears') 
// create a bear (accessed at POST http://localhost:8080/api/bears) 
.post(function(req, res) { 

    var bear = new Bear();  // create a new instance of the Bear model 
    bear.name = req.body.name; // set the bears name (comes from the request) 

    // save the bear and check for errors 
    bear.save(function(err) { 
     if (err) 
      res.send(err); 

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

}) 
.get(function(req, res) { 
    Bear.find(function(err, bears) { 
     if (err) 
      res.send(err); 

     res.json(bears); 
    }); 
}); 

Я проверить URL http://localhost:8080/api/bears с POST просьбы о Почтальоном и она была успешной. Теперь я хотел бы протестировать мой запрос POST с использованием углового $resource.

Я попытался следующие, я получил из документации ...

app.factory('Profile', function ($resource) { 
    var Bear = $resource('http://XXX.XXX.X.XX:3000/api/bears/:bearId', {bearId:'@id'}); 
    var single_bear = Bear.post({bearId:123}, function(){ 
     single_bear.name = "Yogi"; 
     single_bear.$save(); 
    }); 
}); 

я не уверен, что я должен за bearId, я просто положить случайное число. И я пытаюсь сохранить имя медведя как Yogi. Я предполагаю, что этот запрос POST будет возникать при запуске приложения, но я делаю это, а затем проверяю, был ли мой db заполнен и нет записи.

Что я делаю неправильно?

EDIT

в случае, если вам интересно, что запись медведь выглядит ...

{ 
    "_id": "57ded2302a5ebc050ce3852d", 
    "__v": 0, 
    "name": "" 
} 

ответ

1

Ваш ресурс настроен искать id свойства в данных, передаваемых (через '@id') еще ваши данные проходят bearId.

Кроме того, данные с вашего сервера, похоже, имеют свойство _id, а не id, а не bearId.

Кроме того, метод ресурса, который вы ищете, - save(), а не post().


Я бы с этим типом определения ресурса ...

$resource('http://XXX.XXX.X.XX:3000/api/bears/:id', {id:'@_id'}); 

Затем, вы можете использовать его для создания нового медведя с помощью

Bear.save({_id: 123, name: 'Yogi'}) 
Смежные вопросы