Ejemplo n.º 1
0
        public void ConfigureRoutes(HttpConfiguration config, bool useSchoolYear)
        {
            Preconditions.ThrowIfNull(config, nameof(config));

            var apiDefaults = new
            {
                apiVersion      = ApiVersionConstants.Ods,
                identityVersion = ApiVersionConstants.Identity
            };

            config.Routes.MapHttpRoute(
                name: "ApiDefaultCollection",
                routeTemplate: "data/v{apiVersion}/" + (useSchoolYear
                    ? "{schoolYearFromRoute}/"
                    : string.Empty) + "{schema}/{controller}",
                defaults: apiDefaults,
                constraints: useSchoolYear
                    ? RouteConfigurationHelper.CreateSchoolYearRouteConstraints()
                    : RouteConfigurationHelper.CreateRouteConstraints());

            config.Routes.MapHttpRoute(
                name: "ApiDefaultItem",
                routeTemplate: "data/v{apiVersion}/" + (useSchoolYear
                    ? "{schoolYearFromRoute}/"
                    : string.Empty) + "{schema}/{controller}/{id}",
                defaults: apiDefaults,
                constraints: useSchoolYear
                    ? RouteConfigurationHelper.CreateSchoolYearWithIdRouteConstraints()
                    : RouteConfigurationHelper.CreateIdRouteConstraints());

            config.Routes.MapHttpRoute(
                name: "Root",
                routeTemplate: "",
                defaults: new
            {
                controller = "Version",
                action     = "Index"
            });
        }