在 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 });
}
}
}
documentation不是很有描述性。 name 属性的用途是什么?它还用在哪里? defaults 属性也是如此:它有什么作用?
请您参考如下方法:
name 为路由分配一个名称,通过该名称可以在路由列表中识别路由。此名称用于类似 ApiController.Url.Link 的函数中生成路由链接等。
defaults 允许您提供默认值,例如将请求映射到的 Controller (如果模板未指定 {controller} 段)、调用操作不遵循命名约定,也不遵循模板中的 {action} 段、参数的默认值等。
