using Newtonsoft.Json.Serialization; using System.Web.Http; using System.Web.Http.ExceptionHandling; namespace Thermo.Active { public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API configuration and services var form = config.Formatters.FormUrlEncodedFormatter; var xml = config.Formatters.XmlFormatter; var json = config.Formatters.JsonFormatter; config.Formatters.Remove(form); config.Formatters.Remove(xml); config.Formatters.Remove(json); config.Formatters.Add(json); config.Formatters.Add(xml); config.Formatters.Add(form); config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; config.EnableCors(); config.Services.Replace(typeof(IExceptionHandler), new WebApiUnhandledExceptionHandler()); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } } }