/// <summary> /// Configures the application using the provided builder. /// </summary> /// <param name="builder">The current application builder.</param> public void Configuration(IAppBuilder builder) { var configuration = new HttpConfiguration(); var httpServer = new HttpServer(configuration); var odataBatchHandler = new DefaultODataBatchHandler(httpServer); configuration.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); var ConfigModelBuilder = ConfigModelConfiguration.GetBuilder(); configuration.MapODataServiceRoute("Config", "Config", ConfigModelBuilder.GetEdmModel(), odataBatchHandler); var ValueModelBuilder = DataModelConfiguration.GetBuilder(); configuration.MapODataServiceRoute("Data", "Data", ValueModelBuilder.GetEdmModel(), odataBatchHandler); configuration.EnableSwagger( "{apiVersion}/swagger", sConf => { sConf.CustomProvider((defaultProvider) => { return(new ODataSwaggerProvider(defaultProvider, sConf, configuration) .Configure((oDataConf) => { oDataConf.EnableSwaggerRequestCaching(); oDataConf.IncludeNavigationProperties(); })); }); sConf.MultipleApiVersions( (apiDescription, version) => { if (apiDescription.Route is ODataRoute odata) { return(odata.RoutePrefix.Equals(version)); } else { return(false); } }, info => { info.Version("Config", $"Config API") .Contact(c => c.Name("Alsic BVBA") .Email("*****@*****.**")); info.Version("Data", $"Data API") .Contact(c => c.Name("Alsic BVBA") .Email("*****@*****.**")); }); // add a custom operation filter which documents the implicit API version parameter sConf.OperationFilter <SwaggerDefaultValues>(); // integrate xml comments sConf.IncludeXmlComments(XmlCommentsFilePath); })
/// <summary> /// Configures the application using the provided builder. /// </summary> /// <param name="builder">The current application builder.</param> public void Configuration(IAppBuilder builder) { var configuration = new HttpConfiguration(); var httpServer = new HttpServer(configuration); var odataBatchHandler = new DefaultODataBatchHandler(httpServer); configuration.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); var ConfigModelBuilder = ConfigModelConfiguration.GetBuilder(); configuration.MapODataServiceRoute("Config", "Config", ConfigModelBuilder.GetEdmModel(), odataBatchHandler); configuration.EnableSwagger( sConf => { sConf.CustomProvider((defaultProvider) => { return(new ODataSwaggerProvider(defaultProvider, sConf, configuration) .Configure((oDataConf) => { oDataConf.EnableSwaggerRequestCaching(); oDataConf.IncludeNavigationProperties(); })); }); sConf.SingleApiVersion("Config", "The title"); // add a custom operation filter which documents the implicit API version parameter sConf.OperationFilter <SwaggerDefaultValues>(); // integrate xml comments sConf.IncludeXmlComments(XmlCommentsFilePath); }) .EnableSwaggerUi(swagger => swagger.EnableDiscoveryUrlSelector()); builder.UseWebApi(httpServer); }