public static void Register(HttpConfiguration config) { // Web API configuration and services // support both Json and XML based on Accept Header from client //config.Formatters.JsonFormatter.SupportedMediaTypes //.Add(new MediaTypeHeaderValue("text/html")); config.Formatters.Add(new CustomJsonFormatter()); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // Odata Test Route ODataV4.Builder.ODataModelBuilder builder = new ODataV4.Builder.ODataConventionModelBuilder(); config.Count().Filter().OrderBy().Expand().Select().MaxTop(null); builder.EntitySet <PeopleVM>("People"); ODataV4.Extensions.HttpConfigurationExtensions.MapODataServiceRoute( configuration: config, routeName: "Peopleroute", routePrefix: "odata4", model: builder.GetEdmModel()); }
public static void Register(HttpConfiguration config) { // OData V3 Route ODataV3.Builder.ODataModelBuilder builder3 = new ODataV3.Builder.ODataConventionModelBuilder(); builder3.EntitySet <MarvelCharacter>("MarvelCharactersV3"); // The MapODataRoute function is deprecated in WebAPI 2.2, // but I haven't found an alternative for supporting OData 3. config.Routes.MapODataRoute( routeName: "Marvel3", routePrefix: "dude3", model: builder3.GetEdmModel()); // ODate V4 Route ODataV4.Builder.ODataModelBuilder builder4 = new ODataV4.Builder.ODataConventionModelBuilder(); builder4.EntitySet <MarvelCharacter>("MarvelCharactersV4"); ODataV4.Extensions.HttpConfigurationExtensions.MapODataServiceRoute( configuration: config, routeName: "Marvel4", routePrefix: "dude4", model: builder4.GetEdmModel()); }