using System; using System.Collections.Generic; using System.Linq; using System.Web.Http; using System.Web.Http.Cors; using System.Web.Routing; using VueWebApi.Tools; namespace VueWebApi { public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API 配置和服务 GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); //跨域配置 //config.EnableCors(new EnableCorsAttribute("*", "*", "*")); // Web API 路由 config.MapHttpAttributeRoutes(); var corsAttr = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(corsAttr); //config.Routes.MapHttpRoute( // name: "DefaultApi", // routeTemplate: "api/{controller}/{id}", // defaults: new { id = RouteParameter.Optional } //); ////自定义路由:匹配到action //config.Routes.MapHttpRoute( // name: "ActionApi", // routeTemplate: "actionapi/{controller}/{action}/{id}", // defaults: new { id = RouteParameter.Optional } //); RouteTable.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ).RouteHandler = new SessionControllerRouteHandler(); //swagger config.Routes.MapHttpRoute( name: "swagger_root", routeTemplate: "", defaults: null, constraints: null, handler: new Swashbuckle.Application.RedirectHandler((message => message.RequestUri.ToString()), "swagger/ui/index") ); } } }