【发布时间】:2013-04-04 13:49:29
【问题描述】:
我有一个如下的 Web API 服务:
[HttpGet]
public UserProfile SearchByEmail(string siteName, string providerName, string email)
{}
我想将 providerName 设为可选,以下网址应该可以使用:
{0}: http://www.domain.com/sites/siteName1/providerName1/User/SearchByEmail?email=email1
{1}: http://www.domain.com/sites/siteName1/User/SearchByEmail?email=email1
我已经写了下面的映射:
config.Routes.MapHttpRoute(
name: "SearchUserByEmail",
routeTemplate: "sites/{siteName}/{providerName}/User/SearchByEmail",
defaults: new
{
controller = "User",
action = "SearchByEmail",
providerName = UrlParameter.Optional
});
但它只支持 {0} 网址,不支持 {1} 网址。
如何编写映射以便让我将 providerName 设为可选?
【问题讨论】:
标签: c# asp.net-mvc asp.net-web-api asp.net-mvc-routing