ASP.NET Web API 我觉得默认路由没必要加 api

作者:vkvi 来源:ITPOW(原创) 日期:2022-3-31

Visual Studio 中创建 Web API 之后,在 App_Start/WebApiConfig.cs 中,会找到一个默认的路由配置,示例:

public static class WebApiConfig
{
	public static void Register(HttpConfiguration config)
	{
		// Web API 配置和服务

		// Web API 路由
		config.MapHttpAttributeRoutes();

		config.Routes.MapHttpRoute(
			name: "DefaultApi",
			routeTemplate: "api/{controller}/{id}",
			defaults: new { id = RouteParameter.Optional }
		);
	}
}

注意 routeTemplate,我们访问的时候地址即是:http://xxx/api/Controller/。

比如 Controller 类名称是 ItpowController,则访问是:http://xxx/api/Itpow/。

我倒是觉得路由中这个 api 是没有必要加的

我们通常部署到网站时,是以应用程序的形式部署的,比如是部署在 api 这个应用程序下的,那么访问时,网址中就得是 http://xxx/api/api/Itpow/。有两个 api,多不爽啊。

有人说,你是以应用程序部署的,如果你是直接部署在网站根目录下呢?既然我这个可以直接部署在网站根目录下,说明这个东西是属于整个网站的了,那加个 api 是不是也是属于多余的呢?

相关文章