Asp.net web api web api如何区分过载场景中的参数类型?

Asp.net web api web api如何区分过载场景中的参数类型?,asp.net-web-api,overloading,Asp.net Web Api,Overloading,假设我有学生和用户的POST方法。因为对对象定义的限制是两者都具有相同名称的属性。像 Student : First Name ,Last Name,Address. Employee: First Name ,Last Name,Address. 说我的贴子方法如下: public void Post([FromBody]Student _student) {//my code } 另一个在同一个班级里是一样的: public void Post([Fr

假设我有学生和用户的POST方法。因为对对象定义的限制是两者都具有相同名称的属性。像

Student : First Name ,Last Name,Address.
Employee: First Name ,Last Name,Address.
说我的贴子方法如下:

 public void Post([FromBody]Student _student)
        {//my code
        }
另一个在同一个班级里是一样的:

 public void Post([FromBody]Employee _employee)
        {//my code
        }

当从外部设备(比如Android)访问此方法时,它将是JSon对象。使用相同的参数和值格式化。rout将如何识别要执行的方法

您可以为每个方法定义单独的路由,如以下代码所示:

public class ContactsController : ApiController
{

}


否则,由于不明确,Web API将抛出异常。

谢谢。。。但是rout将如何映射具体的方法呢?从移动设备将对这两种方法有相同的请求。所以我是否需要提供任何特定的URL来访问这些方法,就像您在属性中添加的一样?没错。你将不得不提供和。否则,将无法访问这些方法。测试这些方法的一种方法是使用浏览器或fiddler,然后调试它们。
    [Route("api/Contacts/Students")]
    public void Post([FromBody] Student student)
    {

    }

    [Route("api/Contacts/Employees")]
    public void Post([FromBody] Employee employee)
    {

    }