Exemplo n.º 1
0
        /// <summary>
        /// 添加规范化文档中间件
        /// </summary>
        /// <param name="app"></param>
        /// <param name="routePrefix"></param>
        /// <param name="configure"></param>
        /// <returns></returns>
        public static IApplicationBuilder UseSpecificationDocuments(this IApplicationBuilder app, string routePrefix = default, Action <SpecificationDocumentConfigureOptions> configure = default)
        {
            // 判断是否启用规范化文档
            if (App.Settings.InjectSpecificationDocument != true)
            {
                return(app);
            }

            // 载入服务配置选项
            var configureOptions = new SpecificationDocumentConfigureOptions();

            configure?.Invoke(configureOptions);

            // 配置 Swagger 全局参数
            app.UseSwagger(options => SpecificationDocumentBuilder.Build(options, configureOptions?.SwaggerConfigure));

            // 配置 Swagger UI 参数
            app.UseSwaggerUI(options => SpecificationDocumentBuilder.BuildUI(options, routePrefix, configureOptions?.SwaggerUIConfigure));

            // 启用 MiniProfiler组件
            if (App.Settings.InjectMiniProfiler == true)
            {
                app.UseMiniProfiler();
            }

            return(app);
        }
Exemplo n.º 2
0
        public static IApplicationBuilder UseSpecificationDocuments(this IApplicationBuilder app)
        {
            // 配置 Swagger 全局参数
            app.UseSwagger(options => SpecificationDocumentBuilder.Build(options));

            // 配置 Swagger UI 参数
            app.UseSwaggerUI(options => SpecificationDocumentBuilder.BuildUI(options));

            return(app);
        }
        /// <summary>
        /// 添加规范化文档服务
        /// </summary>
        /// <param name="services">服务集合</param>
        /// <param name="configure">自定义配置</param>
        /// <returns>服务集合</returns>
        public static IServiceCollection AddSpecificationDocuments(this IServiceCollection services, Action <SwaggerGenOptions> configure = null)
        {
            // 添加配置
            services.AddConfigurableOptions <SpecificationDocumentSettingsOptions>();

            // 添加Swagger生成器服务
            services.AddSwaggerGen(options => SpecificationDocumentBuilder.BuildGen(options, configure));

            return(services);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 添加规范化文档中间件
        /// </summary>
        /// <param name="app"></param>
        /// <param name="routePrefix"></param>
        /// <returns></returns>
        public static IApplicationBuilder UseSpecificationDocuments(this IApplicationBuilder app, string routePrefix = default)
        {
            // 配置 Swagger 全局参数
            app.UseSwagger(options => SpecificationDocumentBuilder.Build(options));

            // 配置 Swagger UI 参数
            app.UseSwaggerUI(options => SpecificationDocumentBuilder.BuildUI(options, routePrefix));

            return(app);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 添加规范化文档服务
        /// </summary>
        /// <param name="mvcBuilder">Mvc 构建器</param>
        /// <param name="configure">自定义配置</param>
        /// <returns>服务集合</returns>
        public static IMvcBuilder AddSpecificationDocuments(this IMvcBuilder mvcBuilder, Action <SwaggerGenOptions> configure = null)
        {
            var services = mvcBuilder.Services;

            // 添加配置
            services.AddConfigurableOptions <SpecificationDocumentSettingsOptions>();

            // 添加Swagger生成器服务
            services.AddSwaggerGen(options => SpecificationDocumentBuilder.BuildGen(options, configure));

            return(mvcBuilder);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 添加规范化文档服务
        /// </summary>
        /// <param name="services"></param>
        public static IServiceCollection AddSpecificationDocuments(this IServiceCollection services)
        {
            services.AddConfigurableOptions <SpecificationDocumentSettingsOptions>();
            var config = App.GetDefultOptions <SpecificationDocumentSettingsOptions>();

            if (config.IsView == false)
            {
                return(services);
            }
            services.AddSwaggerGen(c =>
            {
                SpecificationDocumentBuilder.BuildGen(c);
            });
            return(services);
        }
Exemplo n.º 7
0
        /// <summary>
        /// 添加规范化文档中间件
        /// </summary>
        /// <param name="app"></param>
        /// <param name="routePrefix"></param>
        /// <param name="swaggerConfigure"></param>
        /// <param name="swaggerUIConfigure"></param>
        /// <returns></returns>
        public static IApplicationBuilder UseSpecificationDocuments(this IApplicationBuilder app, string routePrefix = default, Action <SwaggerOptions> swaggerConfigure = null, Action <SwaggerUIOptions> swaggerUIConfigure = null)
        {
            // 判断是否启用规范化文档
            if (App.Settings.InjectSpecificationDocument != true)
            {
                return(app);
            }

            // 配置 Swagger 全局参数
            app.UseSwagger(options => SpecificationDocumentBuilder.Build(options, swaggerConfigure));

            // 配置 Swagger UI 参数
            app.UseSwaggerUI(options => SpecificationDocumentBuilder.BuildUI(options, routePrefix, swaggerUIConfigure));

            return(app);
        }
        /// <summary>
        /// 添加规范化文档服务
        /// </summary>
        /// <param name="services">服务集合</param>
        /// <param name="swaggerGenConfigure">自定义配置</param>
        /// <returns>服务集合</returns>
        public static IServiceCollection AddSpecificationDocuments(this IServiceCollection services, Action <SwaggerGenOptions> swaggerGenConfigure = null)
        {
            // 判断是否启用规范化文档
            if (App.Settings.InjectSpecificationDocument != true)
            {
                return(services);
            }

            // 添加配置
            services.AddConfigurableOptions <SpecificationDocumentSettingsOptions>();

            // 添加Swagger生成器服务
            services.AddSwaggerGen(options => SpecificationDocumentBuilder.BuildGen(options, swaggerGenConfigure));

            return(services);
        }
        /// <summary>
        /// 添加规范化文档中间件
        /// </summary>
        /// <param name="app"></param>
        /// <param name="routePrefix"></param>
        /// <returns></returns>
        public static IApplicationBuilder UseSpecificationDocuments(this IApplicationBuilder app, string routePrefix = default)
        {
            var config = app.ApplicationServices.GetService <IOptions <SpecificationDocumentSettingsOptions> >().Value;

            if (config.IsView == false)
            {
                return(app);
            }
            SpecificationDocumentBuilder.Init(config);
            // 配置 Swagger 全局参数
            app.UseSwagger(options =>
            {
                SpecificationDocumentBuilder.Build(options);
            });
            // 配置 Swagger UI 参数
            app.UseSwaggerUI(c => SpecificationDocumentBuilder.BuildUI(c, routePrefix));
            return(app);
        }
        /// <summary>
        /// 添加规范化文档服务
        /// </summary>
        /// <param name="services">服务集合</param>
        /// <param name="configure">自定义配置</param>
        /// <returns>服务集合</returns>
        public static IServiceCollection AddSpecificationDocuments(this IServiceCollection services, Action <SpecificationDocumentServiceOptions> configure = default)
        {
            // 判断是否启用规范化文档
            if (App.Settings.InjectSpecificationDocument != true)
            {
                return(services);
            }

            // 添加配置
            services.AddConfigurableOptions <SpecificationDocumentSettingsOptions>();

            // 载入服务配置选项
            var configureOptions = new SpecificationDocumentServiceOptions();

            configure?.Invoke(configureOptions);

            // 添加Swagger生成器服务
            services.AddSwaggerGen(options => SpecificationDocumentBuilder.BuildGen(options, configureOptions?.SwaggerGenConfigure));

            // 添加 MiniProfiler 服务
            AddMiniProfiler(services);

            return(services);
        }