如何通过$ resource将参数传递给WebApi?

时间:2015-11-16 11:18:28

标签: angularjs asp.net-web-api angular-resource

我试图将参数传递给WebAPI,但有些东西不起作用。不确定我是否应该在$ resource路径中添加:id?

我的服务:

dataService.factory('Widgets', ['$resource', function ($resource) {

    var data = $resource('/api/:path', {
        path: '@path'
    }, {
        getWidgets: {
            params: { path: 'widgets' },
            method: "GET",
            isArray: true
        },
        getWidget: {
            params: { path: 'widgets' },
            method: "GET",
            isArray: true
        },
        getCategories: {
            params: { path: 'widgetCategories' },
            method: "GET",
            isArray: true
        },
    });
    return data;
}]);

在控制器中:

Widgets.getWidget({ id: $rootScope.widgetId }).$promise.then(function (result) {
        $scope.widget = result;
    });

在ASP.Net控制器中:

    [HttpGet]
    public IEnumerable<Widget> Get()
    {
        return _dbContext.Widgets;
    }

    [Route("api/[controller]/{id}")]
    [HttpGet]
    public Widget Get(int id)
    {
        return _dbContext.Widgets.Where(w => w.Id == id).FirstOrDefault(); ;
    }

有人可以看一下吗?

0 个答案:

没有答案