如何在Web API中的获取和删除方法中传递相同的参数和方法名称

时间:2018-12-12 05:16:18

标签: asp.net asp.net-web-api

    [HttpGet]
    public IHttpActionResult Employee(int id)
    {
        Employee employee = db.Employees.Find(id);
        if (employee == null)
        {
            return NotFound();
        }

        return Ok(employee);
    }

    [HttpDelete]
    public IHttpActionResult Employee( int id)
    {
        Employee employee = db.Employees.Find(id);
        if (employee == null)
        {
            return NotFound();
        }

        db.Employees.Remove(employee);
        db.SaveChanges();

        return Ok(employee);
    }

1 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题:只需将方法重命名为GetEmployeeDeleteEmployee

C#不允许使用具有相同名称的相同类型参数的相同名称的方法。

重命名方法可解决此问题,并且由于装饰方法的属性,ASP.NET路由仍将正确的方法与您的路由匹配。