我希望实现多个 Get 方法,例如:
Get(int id, User userObj) 和 Get(int storeId, User userObj)
是否可以这样实现?我不想更改操作方法名称,因为在那种情况下我需要在 URL 中输入操作名称。
我考虑通过以下示例格式“//localhost:2342/”调用操作方法,其中不包含操作方法名称。
我希望实现多个 Get 方法,例如:
Get(int id, User userObj) 和 Get(int storeId, User userObj)
是否可以这样实现?我不想更改操作方法名称,因为在那种情况下我需要在 URL 中输入操作名称。
我考虑通过以下示例格式“//localhost:2342/”调用操作方法,其中不包含操作方法名称。
要在ASP.Net Web API控制器中实现多个GET方法,您需要将action名称添加到路由模板中。
WebApiConfig:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new {id = RouteParameter.Optional }
);
控制器:
public class TestController : ApiController
{
public DataSet GetStudentDetails(int iStudID)
{
}
[HttpGet]
public DataSet TeacherDetails(int iTeachID)
{
}
}
注意:动作/方法名称应以“Get”开头,否则您需要在动作/方法上方指定[HttpGet]