Angular $资源以错误的格式发送GET请求

时间:2014-10-14 17:08:31

标签: angularjs express

我有一个名为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);
  });
 };

0 个答案:

没有答案