1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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));
- }
- }
- }
|