我有一个名为expense的(前端)$资源,它绑定到(后端)费用端点。
使用daftmonk的Yeoman angular-fullstack生成器的经典项目结构。
我已经用邮递员测试了我的API终端,一切都很好。
但是当我从我的控制器询问$ resource.get(id)函数时,它会发出一个奇怪格式的请求( GET / api / expenses?id = 543d459c5658be985862494f ) 由于我的端点正在等待 / api / expense / 543d459c5658be985862494f ,因此它不会返回正确的值。 我在这做错了什么? Thkx提前为您的答案。
我的文件详情:
(前)控制器
angular.module('simpleComptaApp')
.controller('ExpensesEditCtrl', function ($scope, $timeout, Expense, $state, $stateParams) {
$scope.expense = Expense.get({id: $stateParams.id});
$scope.updateExpense = function () {
$scope.expense.$update();
$state.go('all expenses');
};
});
(前)服务
'use strict';
angular.module('simpleComptaApp')
.factory('Expense', function ($resource) {
return $resource('api/expenses/:expenseId', {
expenseId: '@_id'
}, {
update: {
method: 'PUT'
}
});
});
(返回)路线
router.get('expenses/:id', controller.show);
(后退)控制器
// Get a single expense
exports.show = function(req, res) {
Expense.findById(req.params.id, function (err, expense) {
if(err) { return handleError(res, err); }
if(!expense) { return res.send(404); }
return res.json(expense);
});
};