我的WebAPI控制器定义如下
[Route("~/api/v1/Employees/{id}")]
[HttpGet]
public HttpResponseMessage GetEmployee([FromBody]int EmpID)
{
var emp = DB.Employees.FirstOrDefault(i => i.EmpID == EmpID) as Employee;
return Request.CreateResponse<Employee>(HttpStatusCode.OK, emp);
}
这是对此方法和角度服务的角度控制器调用
控制器:
$scope.Employee = EmpFactory.SingleEmployee.query({ id: ShareData.value }, { EmpID: 2 } , function (data) {
emp = data;
});
服务:
SingleEmployee: $resource('/api/v1/Employees/:id', { id: '@id'}, {
query: {
method: 'GET'
} }
)
注意:我有意在webAPI控制器中将参数名称更改为EmpID,以了解如何从Angular调用此类方法。
问题1: 它不起作用..来自Fiddler,很明显EmpID没有在请求时通过
问题2: 根据文档,我需要将data / params传递给$ resource方法,但在我的情况下,我通过控制器方法传递参数,而不直接在$ resource中指定任何东西..它是如何工作的?对不起,如果这是一个愚蠢的问题
答案 0 :(得分:0)
我认为你应该标记为[FromUri],这意味着变量是在URL中设置的。