using Ant.Core.WebApi.Json; using Central.Control.WebApi.Filter; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Serialization; using Swashbuckle.Application; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http.Formatting; using System.Web.Http; namespace Central.Control.WebApi { public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API 配置和服务 //filters.Add(); config.Filters.Add(new CenterControlAuthorize()); // Web API 路由 config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // 设置默认跳转swagger config.Routes.MapHttpRoute(name: "swagger_root", routeTemplate: "", defaults: null, constraints: null, handler: new RedirectHandler((message => message.RequestUri.ToString()), "swagger")); // 驼峰 // ConfigureJsonApi(config); } public static void ConfigureJsonApi(HttpConfiguration config) { var jsonFormatter = new JsonMediaTypeFormatter(); var settings = jsonFormatter.SerializerSettings; IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); //这里使用自定义日期格式 timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss"; settings.Converters.Add(timeConverter); settings.ContractResolver = new CamelCasePropertyNamesContractResolver(); config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter)); } } }