public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // 取消注释下面的代码行可对具有 IQueryable 或 IQueryable<T> 返回类型的操作启用查询支持。 // 若要避免处理意外查询或恶意查询,请使用 QueryableAttribute 上的验证设置来验证传入查询。 // 有关详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=279712。 //config.EnableQuerySupport(); // 若要在应用程序中禁用跟踪,请注释掉或删除以下代码行 // 有关详细信息,请参阅: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); // 参考:http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v3/creating-an-odata-endpoint var builder = new ODataConventionModelBuilder(); builder.EntitySet<Product>("Products"); // 参考:http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v3/working-with-entity-relations builder.EntitySet<Supplier>("Suppliers"); //config.Routes.MapODataRoute("OData", "odata", builder.GetEdmModel()); config.Routes.MapODataServiceRoute("ODataRoute", "odata", builder.GetEdmModel()); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); //http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api config.EnableCors(); config.SetDocumentationProvider(new XmlDocumentationProvider( HttpContext.Current.Server.MapPath("~/App_Data/WebApi2.XML"))); config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); //http://stackoverflow.com/a/9521363 FilterConfig.RegisterWebApiFilters(GlobalConfiguration.Configuration.Filters); //http://www.asp.net/web-api/overview/testing-and-debugging/tracing-in-aspnet-web-api //IsVerbose: If false, each trace contains minimal information. If true, traces include more information. //MinimumLevel: Sets the minimum trace level. Trace levels, in order, are Debug, Info, Warn, Error, and Fatal. SystemDiagnosticsTraceWriter traceWriter = config.EnableSystemDiagnosticsTracing(); traceWriter.IsVerbose = false; traceWriter.MinimumLevel = TraceLevel.Info; config.EnableSystemDiagnosticsTracing(); config.Services.Replace(typeof(ITraceWriter), new LoggingTracer()); }
public static void Register(HttpConfiguration config) { config.EnableSystemDiagnosticsTracing(); SystemDiagnosticsTraceWriter traceWriter = config.EnableSystemDiagnosticsTracing(); traceWriter.IsVerbose = true; traceWriter.MinimumLevel = System.Web.Http.Tracing.TraceLevel.Info; config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
public static void Register(HttpConfiguration config) { //Controller Only //To handle routes like `/api/VTRouting` config.Routes.MapHttpRoute( name: "ControllerOnly", routeTemplate: "api/{controller}" ); // Controller with ID // To handle routes like `/api/VTRouting/1` config.Routes.MapHttpRoute( name: "ControllerAndId", routeTemplate: "api/{controller}/{id}", defaults: null, constraints: new { id = @"^\d+$" } // Only integers ); // Controllers with Actions // To handle routes like `/api/VTRouting/route` config.Routes.MapHttpRoute( name: "ControllerAndAction", routeTemplate: "api/{controller}/{action}" ); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); }
public static void ConfigureMobileApp(IAppBuilder app) { HttpConfiguration config = new HttpConfiguration(); config.EnableCors(new EnableCorsAttribute("*", "*", "*", "*")); config.MapHttpAttributeRoutes(); config.EnableSystemDiagnosticsTracing(); config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; new MobileAppConfiguration() .UseDefaultConfiguration() .ApplyTo(config); Database.SetInitializer(new ContosoMomentsDBInitializer()); ConfigureStorage(); // set up auth for local development //app.UseAppServiceAuthentication(new AppServiceAuthenticationOptions() { // SigningKey = ConfigurationManager.AppSettings["authSigningKey"], // ValidAudiences = new[] { ConfigurationManager.AppSettings["authAudience"] }, // ValidIssuers = new[] { ConfigurationManager.AppSettings["authIssuer"] }, // TokenHandler = config.GetAppServiceTokenHandler() //}); // Increases the HTTP Connection Pool. ServicePointManager.DefaultConnectionLimit = 100; app.UseWebApi(config); }
public static void Register(HttpConfiguration config) { var authentication = CreateAuthenticationConfiguration(); // session support for all requests config.MessageHandlers.Add(new AuthenticationHandler(authentication)); // enable sessions on token provider controller authentication.EnableSessionToken = true; config.Routes.MapHttpRoute( name: "TokenApi", routeTemplate: "api/token/{action}", defaults: new { controller = "token" }, constraints: null, handler: new AuthenticationHandler(authentication, config) ); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}", defaults: null, constraints: null ); config.EnableSystemDiagnosticsTracing(); }
public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "GamingStoreRoute", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); config.Routes.MapHttpRoute( name: "SalesApi", routeTemplate: "api/Sales", defaults: new { id = RouteParameter.Optional }); config.Routes.MapHttpRoute( name: "CartsApi", routeTemplate: "api/Carts", defaults: new { id = RouteParameter.Optional }); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; }
public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "MetadataApi", routeTemplate: "api/Metadata/{id}", defaults: new { controller = "Metadata", action = "GetMetadataItem" }); //config.Routes.MapHttpRoute( // name: "CustomMetadataApi", // routeTemplate: "api/{controller}/Metadata", // defaults: new { action = "GetMetadata" }); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Routes.MapHttpRoute( name: "ControllerAndAction", routeTemplate: "api/{controller}/{action}" ); config.Routes.MapHttpRoute( name: "ActionApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional }); var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects; json.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; config.Formatters.Remove(config.Formatters.XmlFormatter); config.EnableSystemDiagnosticsTracing(); }
public static HttpConfiguration Configure(WsFederationPluginOptions options) { var config = new HttpConfiguration(); config.MapHttpAttributeRoutes(); config.SuppressDefaultHostAuthentication(); config.MessageHandlers.Insert(0, new KatanaDependencyResolver()); config.Services.Add(typeof(IExceptionLogger), new LogProviderExceptionLogger()); config.Services.Replace(typeof(IHttpControllerTypeResolver), new HttpControllerTypeResolver()); config.Formatters.Remove(config.Formatters.XmlFormatter); config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.LocalOnly; if (options.IdentityServerOptions.LoggingOptions.EnableWebApiDiagnostics) { var liblog = new TraceSource("LibLog"); liblog.Switch.Level = SourceLevels.All; liblog.Listeners.Add(new LibLogTraceListener()); var diag = config.EnableSystemDiagnosticsTracing(); diag.IsVerbose = options.IdentityServerOptions.LoggingOptions.WebApiDiagnosticsIsVerbose; diag.TraceSource = liblog; } if (options.IdentityServerOptions.LoggingOptions.EnableHttpLogging) { config.MessageHandlers.Add(new RequestResponseLogger()); } return config; }
public static void Register(HttpConfiguration config) { #if(DEBUG) config.EnableSystemDiagnosticsTracing(); #endif // TODO: REVIEW FOR CORS CONFIG // var cors = new EnableCorsAttribute("*", "*", "GET, POST, OPTIONS"); // config.EnableCors(cors); // Web API configuration and services // Configure Web API to use only bearer token authentication. config.SuppressDefaultHostAuthentication(); config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); // Use camel case for JSON data. config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); // Web API routes config.MapHttpAttributeRoutes(); // replace the exceptionhandler with our own config.Services.Replace(typeof(IExceptionHandler), new GenericTextExceptionHandler()); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
// Invoked once at startup to configure your application. public void Configuration(IAppBuilder builder) { HttpConfiguration config = new HttpConfiguration(); //filters config.Filters.Add(new CustomerValidationModelAttribute()); // config.Filters.Add(new AuthorizeAttribute()); //Dependency Resolution var container = new UnityContainer(); container.RegisterType<IOrderRepository, InMemoryOrderRepository>(new HierarchicalLifetimeManager()); container.RegisterType<ICustomerRepository, InMemoryCustomerRepository>(new HierarchicalLifetimeManager()); container.RegisterType<ISubscriptionRepository, InMemorySubscriptionRepository>(new HierarchicalLifetimeManager()); container.RegisterType<ITokenRepository, InMemoryTokenRepository>(new HierarchicalLifetimeManager()); config.DependencyResolver = new UnityResolver(container); //Handlers config.MessageHandlers.Add(new MsTrackingHandler()); // Web API configuration and services config.Formatters.Remove(config.Formatters.XmlFormatter); // Web API routes config.MapHttpAttributeRoutes(); config.EnableSystemDiagnosticsTracing(); builder.UseWebApi(config); }
public static HttpConfiguration Configure(IdentityServerOptions options, ILifetimeScope container) { var config = new HttpConfiguration(); config.MapHttpAttributeRoutes(); config.SuppressDefaultHostAuthentication(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); config.Services.Add(typeof(IExceptionLogger), new LogProviderExceptionLogger()); config.Services.Replace(typeof(IHttpControllerTypeResolver), new HttpControllerTypeResolver()); config.Formatters.Remove(config.Formatters.XmlFormatter); config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.LocalOnly; if (options.LoggingOptions.EnableWebApiDiagnostics) { var liblog = new TraceSource("LibLog"); liblog.Switch.Level = SourceLevels.All; liblog.Listeners.Add(new LibLogTraceListener()); var diag = config.EnableSystemDiagnosticsTracing(); diag.IsVerbose = options.LoggingOptions.WebApiDiagnosticsIsVerbose; diag.TraceSource = liblog; } ConfigureRoutes(options, config); return config; }
public static void Register(HttpConfiguration config) { config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; // Add $format support config.MessageHandlers.Add(new FormatQueryMessageHandler()); // Add NavigationRoutingConvention2 to support POST, PUT, PATCH and DELETE on navigation property var conventions = ODataRoutingConventions.CreateDefault(); conventions.Insert(0, new CustomNavigationRoutingConvention()); // Enables OData support by adding an OData route and enabling querying support for OData. // Action selector and odata media type formatters will be registered in per-controller configuration only config.Routes.MapODataServiceRoute( routeName: "OData", routePrefix: null, model: ModelBuilder.GetEdmModel(), pathHandler: new DefaultODataPathHandler(), routingConventions: conventions); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); config.Filters.Add(new ModelValidationFilterAttribute()); }
public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute("get-token", "api/token", new { controller = "ARM", action = "GetToken" }, new { verb = new HttpMethodConstraint("GET", "HEAD") }); //config.Routes.MapHttpRoute("get-subscriptions", "api/subscriptions", new { controller = "ARM", action = "Subscriptions" }, new { verb = new HttpMethodConstraint("GET") }); config.Routes.MapHttpRoute("get-subscription-sitenameavailable", "api/subscriptions/{subscriptionId}/sites/{siteName}", new { controller = "ARM", action = "IsSiteNameAvailable" }, new { verb = new HttpMethodConstraint("GET") }); config.Routes.MapHttpRoute("get-template", "api/template", new { controller = "ARM", action = "GetTemplate" }, new { verb = new HttpMethodConstraint("GET") }); config.Routes.MapHttpRoute("post-preview", "api/preview/{subscriptionId}", new { controller = "ARM", action = "Preview" }, new { verb = new HttpMethodConstraint("POST") }); config.Routes.MapHttpRoute("post-deployments", "api/deployments/{subscriptionId}", new { controller = "ARM", action = "Deploy" }, new { verb = new HttpMethodConstraint("POST") }); config.Routes.MapHttpRoute("get-deployments-status", "api/deployments/{subscriptionId}/rg/{resourceGroup}", new { controller = "ARM", action = "GetDeploymentStatus" }, new { verb = new HttpMethodConstraint("GET") }); config.Routes.MapHttpRoute("get-scmdeployments-status", "api/deployments/{subscriptionId}/rg/{resourceGroup}/scm", new { controller = "ARM", action = "GetScmDeploymentStatus" }, new { verb = new HttpMethodConstraint("GET") }); config.Routes.MapHttpRoute("post-deployments-notification", "api/deploymentsnotification", new { controller = "ARM", action = "DeploymentNotification" }, new { verb = new HttpMethodConstraint("POST") }); config.Routes.MapHttpRoute("get", "api/{*path}", new { controller = "ARM", action = "Get" }, new { verb = new HttpMethodConstraint("GET", "HEAD") }); //config.Routes.MapHttpRoute( // name: "DefaultApi", // routeTemplate: "{controller}/{id}", // defaults: new { id = RouteParameter.Optional } //); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); }
public static void Register(HttpConfiguration config) { config.EnableCors(); config.Routes.MapHttpRoute( name: "ApiWithActionName", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects; json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); config.Formatters.Remove(config.Formatters.XmlFormatter); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); // Web API routes // config.MapHttpAttributeRoutes(); }
public static void Register(HttpConfiguration config) { // Stop IIS/Asp.Net breaking our routes // taken from here: // http://www.grumpydev.com/2013/09/17/403-14-error-when-trying-to-access-a-webapi-route/ // TLDR; if IIS sees a url match a project folder name, all routes will be ignored // this setting will prevent that RouteTable.Routes.RouteExistingFiles = true; // enable Cross-Origin Resource Sharing (CORS) var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); // Define routes config.Routes.MapHttpRoute( name: DEFAULT_ROUTE_NAME, // {controller} will match a convention name // (i.e. http get to http://url/demo will invoke DemoController.get... method without an id) routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.EnableSystemDiagnosticsTracing(); // Register message handlers config.MessageHandlers.Add(new SSLHandler()); // Register global authentication/authorization filters config.Filters.Add(new AuthFilter(AuthFilter.AuthTypes.BEARER, "USER")); }
public static void Register(HttpConfiguration config) { //config.Routes.MapHttpRoute( // name: "DefaultApi", // routeTemplate: "api/{controller}/{id}", // defaults: new { id = RouteParameter.Optional } //); config.Routes.MapHttpRoute( "DefaultApiWithId", "Api/{controller}/{action}/{id}", new { id = RouteParameter.Optional }//, new { id = @"\d+" } ); config.Routes.MapHttpRoute( "DefaultApiWithAction", "Api/{controller}/{action}" ); //config.Routes.MapHttpRoute( // "DefaultApiGet", "Api/{controller}", // new { action = "Get" }, // new { httpMethod = new HttpMethodConstraint(HttpMethod.Get) } //); //config.Routes.MapHttpRoute( // "DefaultApiPost", "Api/{controller}", // new {action = "Post"}, new {httpMethod = new HttpMethodConstraint(HttpMethod.Post)}); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); }
public static void Register(HttpConfiguration config) { // config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional, action = RouteParameter.Optional } ); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); // new // config.Formatters.JsonFormatter.MediaTypeMappings.Add(("frmt", "xml", new MediaTypeHeaderValue("application/xml")); }
public static void Register(HttpConfiguration config) { /* config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } );*/ config.Routes.MapHttpRoute( name: "API_RPC_Style", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional }); //api/ config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new {id = RouteParameter.Optional}); config.Formatters.Remove(config.Formatters.XmlFormatter); /*var corsAttr = new EnableCorsAttribute(ConfigurationManager.AppSettings["DomainURL"].ToString(), "*", "*"); config.EnableCors(corsAttr);*/ // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); }
public static void ConfigureMobileApp(IAppBuilder app) { HttpConfiguration config = new HttpConfiguration(); config.Services.Add(typeof(IExceptionLogger), new AiExceptionLogger()); //For more information on Web API tracing, see http://go.microsoft.com/fwlink/?LinkId=620686 config.EnableSystemDiagnosticsTracing(); new MobileAppConfiguration() .UseDefaultConfiguration() .ApplyTo(config); // Use Entity Framework Code First to create database tables based on your DbContext //Database.SetInitializer(new MyDrivingInitializer()); // To prevent Entity Framework from modifying your database schema, use a null database initializer Database.SetInitializer<MyDrivingContext>(null); MobileAppSettingsDictionary settings = config.GetMobileAppSettingsProvider().GetMobileAppSettings(); if (string.IsNullOrEmpty(settings.HostName)) { // This middleware is intended to be used locally for debugging. By default, HostName will // only have a value when running in an App Service application. app.UseAppServiceAuthentication(new AppServiceAuthenticationOptions { SigningKey = ConfigurationManager.AppSettings["SigningKey"], ValidAudiences = new[] {ConfigurationManager.AppSettings["ValidAudience"]}, ValidIssuers = new[] {ConfigurationManager.AppSettings["ValidIssuer"]}, TokenHandler = config.GetAppServiceTokenHandler() }); } app.UseWebApi(config); }
public static void Register(HttpConfiguration config) { config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); // Use camel case for JSON data. config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); //Removing XML from response possibilities JSON ONLY var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml"); config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType); }
public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{query}/{type}", defaults: new { query = RouteParameter.Optional, type = RouteParameter.Optional } ); GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add( new QueryStringMapping("type", "json", new MediaTypeHeaderValue("application/json"))); GlobalConfiguration.Configuration.Formatters.XmlFormatter.MediaTypeMappings.Add( new QueryStringMapping("type", "xml", new MediaTypeHeaderValue("application/xml"))); GlobalConfiguration.Configuration.Formatters.FormUrlEncodedFormatter.SupportedMediaTypes.Add( new MediaTypeHeaderValue("multipart/form-data")); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); }
public static void Register(HttpConfiguration config) { config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=301869. //config.EnableQuerySupport(); ODataConventionModelBuilder modelBuilder = new ODataConventionModelBuilder(); modelBuilder.EntitySet<Employee>("Employees"); var model = modelBuilder.GetEdmModel(); config.Routes.MapODataRoute(routeName: "OData", routePrefix: "odata", model: model); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); }
public static void Register(HttpConfiguration config) { HttpRouteCollection routes = config.Routes; routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }, constraints: new { id = @"\d+" } ); routes.MapHttpRoute("DefaultApiWithAction", "Api/{controller}/{action}/{id}", new { id = RouteParameter.Optional }); routes.MapHttpRoute("DefaultApiGet", "Api/{controller}", new { action = "Get" }, new { httpMethod = new HttpMethodConstraint(HttpMethod.Get) }); routes.MapHttpRoute("DefaultApiPost", "Api/{controller}", new { action = "Post" }, new { httpMethod = new HttpMethodConstraint(HttpMethod.Post) }); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); // Use camel case for JSON data. config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new DefaultContractResolver(); config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); }
public HttpConfiguration Configure(HttpConfiguration config) { config.MapHttpAttributeRoutes(); //let keep only the JSON formatter config.Formatters.Clear(); config.Formatters.Add(new JsonMediaTypeFormatter()); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=301869. config.EnableQuerySupport(new QueryableAttribute() { MaxExpansionDepth = 5 }); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); //enable cross domain requests config.EnableCors(new EnableCorsAttribute("*", "*", "*")); //OData based rest endpoint config.Routes.MapODataRoute( "ODataRoute", "rest", new RestApiModelBuilder().GetEdmModel()); //RPC based rpc endpoint config.Routes.MapHttpRoute( name: "RPCRoute", routeTemplate: "rpc/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); return config; }
public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: DefaultRouteName, routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. // config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); config.Formatters.Remove(config.Formatters.XmlFormatter); config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; // Use camel case for JSON data. config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); // Add model validation, globally config.Filters.Add(new ValidationActionFilter()); }
public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "ApiMultiParamPathExtension ID", routeTemplate: "api-v1/{controller}/{din}/{brandname}/{company}/{lang}.{ext}", defaults: new { din = RouteParameter.Optional, brandname = RouteParameter.Optional, company = RouteParameter.Optional, lang = RouteParameter.Optional, ext = RouteParameter.Optional }); config.Routes.MapHttpRoute( name: "ApiTwoUriPathExtension ID", routeTemplate: "api-v1/{controller}/{lang}.{ext}", defaults: new { lang = RouteParameter.Optional, ext = RouteParameter.Optional }); config.Routes.MapHttpRoute( name: "ApiUriPathExtension ID", routeTemplate: "api-v1/{controller}/{lang}/{id}.{ext}", defaults: new { lang = RouteParameter.Optional, id = RouteParameter.Optional, ext = RouteParameter.Optional }); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api-v1/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("type", "json", new MediaTypeHeaderValue("application/json"))); config.Formatters.JsonFormatter.SupportedEncodings.Add(Encoding.GetEncoding("utf-8")); config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd" }); config.Formatters.XmlFormatter.MediaTypeMappings.Add(new QueryStringMapping("type", "xml", new MediaTypeHeaderValue("application/xml"))); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); }
public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "Party", routeTemplate: "api/{controller}/{viewModel}/{festivalId}", defaults: new { viewModel = new ViewModels.GroupViewModel(), festivalId =RouteParameter.Optional} ); config.Routes.MapHttpRoute( name: "EditParty", routeTemplate: "api/{controller}/{viewModel}/{partyId}/{email}/{password}", defaults: new { viewModel = new ViewModels.GroupViewModel() ,partyId=RouteParameter.Optional,email=RouteParameter.Optional,password=RouteParameter.Optional} ); // config.Routes.MapHttpRoute( // name: "EditParty", // routeTemplate: "api/{controller}/{viewModel}", // defaults: new { viewModel = new ViewModels.GroupViewModel() } //); config.Routes.MapHttpRoute( name: "Join", routeTemplate: "api/{controller}/{partyId}/{email}" ); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); }
public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "ThreadsApi", routeTemplate: "api/threads/{threadId}/posts", defaults: new { controller = "threads", action = "posts" } ); config.Routes.MapHttpRoute( name: "UsersApi", routeTemplate: "api/users/{action}", defaults: new { controller = "users" } ); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); }
public static void Register(HttpConfiguration config) { //add authentication to the webapi config.MessageHandlers.Add(new Models.BasicAuthMessageHandler()); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/v{version}/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); /* config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); */ // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type. // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries. // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712. //config.EnableQuerySupport(); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); new Logging.LogManager(); System.Web.Http.HttpConfiguration conf = new System.Web.Http.HttpConfiguration(); conf.EnableSystemDiagnosticsTracing(); }