41 lines
1.4 KiB
C#
41 lines
1.4 KiB
C#
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 }
|
|
);
|
|
}
|
|
}
|
|
}
|