Asp.net web api WebAPI-我该怎么做;超载“;获取方法?
因此,我对ASP.NET webAPI不熟悉,我创建了一个名为UsersController的控制器,它公开了4个CRUD方法。 如果用户呼叫: 获取/访问用户Asp.net web api WebAPI-我该怎么做;超载“;获取方法?,asp.net-web-api,Asp.net Web Api,因此,我对ASP.NET webAPI不熟悉,我创建了一个名为UsersController的控制器,它公开了4个CRUD方法。 如果用户呼叫: 获取/访问用户 这将使用默认的Get方法 公共IEnumerable Get() 如果用户呼叫: 获取/users/1234 这反过来将要求: 公共字符串Get(int-id) 但是。。。 如果我需要像这样的东西怎么办 获取/用户/男性 我想返回所有男性用户 及 获得/用户/身高 我想返回所有高个子用户 如何重写/重载GET方法?使用R
- 这将使用默认的Get方法 公共IEnumerable Get()
- 这反过来将要求: 公共字符串Get(int-id)
- 我想返回所有男性用户 及
- 我想返回所有高个子用户
public IEnumerable Get()
{
}
public string Get(int id)
{
}
[Route("/Users/Tall")]
public IEnumerable GetTall()
{
}
有关以下内容的更多信息:。请参见此处:
路线约束
管线约束允许您限制管线模板中参数的匹配方式。一般语法为“{parameter:constraint}”。例如:
我在哪里添加这个?我的ApicController没有属性在getAll()方法中使用该属性。请参阅更新的答案。我收到以下错误:参数字典包含“RESTServices.Controllers.recordsController”中方法“System.String Get(Int32)”的非null类型“System.Int32”的参数“id”的null条目。可选参数必须是引用类型、可为Null的类型或声明为可选参数。无论ASP.NET webapi的默认值是什么,它都是空控制器。您可能在不传递整数值的情况下调用Get(int id)方法。调用应该类似于“”,其中123是一个id。
[Route("users/{id:int}")]
public User GetUserById(int id) { ... }
Route("users/{name}")]
public User GetUserByName(string name) { ... }