在global.asax
文件中,我有类似的内容:
void Application_Start(object sender, EventArgs e)
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
我有另一个包含此代码的文件:
using System.Web.Http;
namespace WebConfig
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}",
defaults: new { id = System.Web.Http.RouteParameter.Optional });
}
}
}
doc 不是很具描述性。 name
财产的目的是什么?它还在哪里使用? defaults
属性也是如此:它做了什么?
感谢。
答案 0 :(得分:4)
name
为路由分配一个名称,通过该路由可以在路由列表中标识路由。此名称在ApiController.Url.Link
等函数中用于生成路由链接等。
defaults
允许您为控制器提供默认值,以便将请求映射到(如果模板未指定{controller}
段),如果不遵循约定命名则调用操作,{{1模板中的段,参数的默认值等
答案 1 :(得分:0)
路径的名称可用于按名称构造渲染链接。例如,见UrlHelper.RouteUrl。