Пример #1
0
        /// <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);
            })
Пример #2
0
        /// <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);
        }