Asp.net web api Angular$resource WebAPI FromBody澄清
我的WebAPI控制器定义如下Asp.net web api Angular$resource WebAPI FromBody澄清,asp.net-web-api,angularjs-resource,Asp.net Web Api,Angularjs Resource,我的WebAPI控制器定义如下 [Route("~/api/v1/Employees/{id}")] [HttpGet] public HttpResponseMessage GetEmployee([FromBody]int EmpID) { var emp = DB.Employees.FirstOrDefault(i => i.EmpID == EmpID) as Employee; r
[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);
}
服务:
SingleEmployee: $resource('/api/v1/Employees/:id', { id: '@id'}, {
query: {
method: 'GET'
} }
)
注意:我特意将webAPI控制器中的参数名更改为EmpID,以了解如何从Angular调用此类方法
问题1:
它不起作用。。从Fiddler那里可以很清楚地看到,EmpID在请求时并没有被传递
问题2:
根据文档,我需要将数据/参数传递给$resource方法,但在我的例子中,我通过controller方法传递参数,而不直接在$resource中指定任何内容。。它是如何工作的?抱歉,如果这是一个愚蠢的问题我想你应该标记为[FromUri],这意味着变量是在URL中设置的 我想知道如果这个论点是[FromBody],它将如何通过
SingleEmployee: $resource('/api/v1/Employees/:id', { id: '@id'}, {
query: {
method: 'GET'
} }
)