Asp.net web api Angular$resource WebAPI FromBody澄清

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

我的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);
        }
服务:

 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'
                }            }
        )