POST 请求使用 angular $resource
POST request using angular $resource
在我的 index.js
文件中,我有以下 POST...
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);
});
});
我在 Postman 上用 POST
请求测试 url http://localhost:8080/api/bears
并且成功。现在我想使用 angular $resource
.
测试我的 POST
请求
我尝试了从文档中获得的以下内容...
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
请求会在我 运行 应用程序时发生,但我这样做然后检查我的数据库是否已满并且没有条目。
我做错了什么?
编辑
如果您想知道空头条目是什么样子...
{
"_id": "57ded2302a5ebc050ce3852d",
"__v": 0,
"name": ""
}
您的资源配置为在传递的数据中查找 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'})
在我的 index.js
文件中,我有以下 POST...
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);
});
});
我在 Postman 上用 POST
请求测试 url http://localhost:8080/api/bears
并且成功。现在我想使用 angular $resource
.
POST
请求
我尝试了从文档中获得的以下内容...
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
请求会在我 运行 应用程序时发生,但我这样做然后检查我的数据库是否已满并且没有条目。
我做错了什么?
编辑
如果您想知道空头条目是什么样子...
{
"_id": "57ded2302a5ebc050ce3852d",
"__v": 0,
"name": ""
}
您的资源配置为在传递的数据中查找 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'})