title: Any request in WebApi 5.1.1 Api or OData returns 404
body: <p><strong>Controller</strong></p>
  
  <pre><code>[Authorize]
  public class EnumController : ApiController
  {
      [HttpGet]
      public IEnumerable StatusVenda()
      {
          return Enum.GetValues(typeof(StatusVendaEnum)).Cast&lt;object&gt;()
               .Select(v =&gt; new
               {
                   Display = v.GetDisplayText(),
                   Id = v.ToString(),
                   Class = v.GetGroupText()
               }).ToList();
      }
  }
  </code></pre>
  
  <p><strong>Config</strong></p>
  
  <pre><code>public static class WebApiConfig
  {
      public static void Register(HttpConfiguration config)
      {
          // OData
          config.Routes.MapODataRoute(routeName: "OData", routePrefix: "odata", model: CreateModelBuider(config).GetEdmModel());
          config.EnableQuerySupport();
  
          // Need this because enum
          // Tips from http://stackoverflow.com/questions/11407267/multiple-httppost-method-in-mvc4-web-api-controller
          // Controller Only -&gt; To handle routes like `/api/Usuarios`
          config.Routes.MapHttpRoute(
              name: "ControllerOnly",
              routeTemplate: "Api/{controller}"
          );
  
          // Controller with ID -&gt; To handle routes like `/api/pessoas/1`
          config.Routes.MapHttpRoute(
              name: "ControllerAndId",
              routeTemplate: "Api/{controller}/{id}",
              defaults: null,
              constraints: new { id = @"^\d+$" } // Only integers 
          );
  
          // Controllers with Actions -&gt; To handle routes like `/api/pessoas/getProfissoes`
          config.Routes.MapHttpRoute(
              name: "ControllerAndAction",
              routeTemplate: "Api/{controller}/{action}",
              defaults: new { action = "Get" }
          );
  
          config.Routes.MapHttpRoute(
              name: "ControllerActionAndId",
              routeTemplate: "Api/{controller}/{action}/{id}",
              defaults: null,
              constraints: new { id = @"^\d+$" } // Only integers 
          );
  
          #region Configurations
  
          var jsonFormatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
          var enumConverter = new StringEnumConverter();
          jsonFormatter.SerializerSettings.Converters.Add(enumConverter);
  
          var jqueryFormatter = config.Formatters.FirstOrDefault(x =&gt; x.GetType() == typeof(JQueryMvcFormUrlEncodedFormatter));
          config.Formatters.Remove(config.Formatters.XmlFormatter);
          config.Formatters.Remove(config.Formatters.FormUrlEncodedFormatter);
          config.Formatters.Remove(jqueryFormatter);
  
          jsonFormatter.SerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.None;
          jsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
          jsonFormatter.SerializerSettings.DateFormatHandling = DateFormatHandling.IsoDateFormat;
          jsonFormatter.SerializerSettings.DefaultValueHandling = DefaultValueHandling.Include;
  
          config.Formatters.JsonFormatter.SerializerSettings.DefaultValueHandling = DefaultValueHandling.Include;
  
          #endregion
      }
  }
  </code></pre>
  
  <p><strong>GLobal.asax.cs</strong></p>
  
  <pre><code>ViewEngines.Engines.Clear();
  ViewEngines.Engines.Add(new RazorViewEngine() { FileExtensions = new string[] { "cshtml" } });
  
  AreaRegistration.RegisterAllAreas();
  
  ValidatorOptions.ResourceProviderType = typeof(Resources.FluentValidation);
  
  SecurityConfigurator.Configure(config =&gt;
  {
      config.DefaultPolicyViolationHandlerIs(() =&gt; new DefaultPolicyViolationHandler());
      config.GetAuthenticationStatusFrom(() =&gt; WebSecurity.IsAuthenticated);
      config.GetRolesFrom(() =&gt; Roles.GetRolesForUser());
      config.ForAllControllers().RequireAnyRole(RolesConst.Administrador);
      // Others config ommited
  
  });
  
  FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
  RouteConfig.RegisterRoutes(RouteTable.Routes);
  WebApiConfig.Register(GlobalConfiguration.Configuration);
  BundleConfig.RegisterBundles(BundleTable.Bundles, Server);
  
  ModelBinders.Binders.DefaultBinder = new MyDefaultModelBinder();
  
  LazyInitializer.EnsureInitialized(ref _initializer, ref _isInitialized, ref _initializerLock);
  </code></pre>
  
  <p>When I perform a request to <code>/Api/Enum/StatusVenda</code> a 404 error is returned!</p>