【发布时间】:2014-05-26 07:13:45
【问题描述】:
我的 Asp.Net web api 控制器中有以下代码:
class MyController:ApiController
{
public returntype1 Get(string somevalue)
{
}
public returntype2 Get(string somevalue, int id)
{
}
}
我的路由方法是
class RouteConfig
{
public static void RegisterRoutes(HttpConfiguration config)
{
var routes = config.Routes;
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{somevalue}/{id}",
defaults: new {action = "Get", somevalue = RouetParameter.optional,id=RouteParameter.Optional }
);
}
}
我有第一个 Get(string somevalue) 方法的 url,例如 /api/My/get?somevalue=hello
对于第二个 Get(string somevalue, int id) 重载,例如 /api/My/get?somevalue=hello&id=1234
但我想对路由进行一些更改,以便对于第一个 Get 方法,我可以拥有像 /api/My/hello 这样的 url
对于第二个重载 Get 方法,我可以使用/api/My/hello/1234
【问题讨论】:
-
您的回复将受到高度赞赏。请尝试帮助我解决这个问题。谢谢