我试图将参数传递给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(); ;
}
有人可以看一下吗?