public void ConfigureOpenApiMetadataRoutes(HttpConfiguration config, bool useSchoolYear) { Preconditions.ThrowIfNull(config, nameof(config)); var schemas = _schemaNameMapProvider.GetSchemaNameMaps() .Select(x => x.UriSegment.ToLowerInvariant()) .ToList(); string schemaNameConstraints = string.Join("|", schemas); var schoolYearConstraint = RouteConfigurationHelper.CreateSchoolYearConstraint(useSchoolYear); var resourceTypesConstraint = RouteConfigurationHelper.CreateResourceTypesConstraints(useSchoolYear); var apiDefaults = RouteConfigurationHelper.CreateOpenApiMetadataDefaults(); string schoolYearRoute = RouteConfigurationHelper.CreateSchoolYearSegment(useSchoolYear); ConfigureResourceTypeMetadataRoutes(config, apiDefaults, resourceTypesConstraint, schoolYearRoute); ConfigureComprehensiveMetadataRoute(config, apiDefaults, schoolYearConstraint, schoolYearRoute); ConfigureDependencyMetadataRoute(config, schoolYearConstraint, schoolYearRoute); ConfigureSchemaSpecificMetadataRoute( config, RouteConfigurationHelper.CreateSchemaNameConstraint(useSchoolYear, schemaNameConstraints), schoolYearRoute); }