ABP中使用Swagger UI集成接口文档

Swagger

ABP中已经集成了Swagger
1.首先介绍的是ABP中Swagger,支持动态映射应用层,也就是,无需创建控制器。

前提:要在Web.Core配置

//这是配置ap框架本身的application
Configuration.Modules.AbpAspNetCore()
                 .CreateControllersForAppServices(
                     typeof(AbpProjectApplicationModule).GetAssembly()
                 );
            //向swagger中动态生成api测试
//BizMasterDataApplicationModule这是自己封装的application
            Configuration.Modules.AbpAspNetCore()
                .CreateControllersForAppServices(
                    typeof(BizMasterDataApplicationModule).GetAssembly()
                );

2.配置工程XML


3.找到starpup.cs
在配置文件中配置刚刚的xml的名称

  public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddSwaggerGen(options =>
            {
                  //ShawnWong 获取程序运行根路径 
                //Swagger注解xml生成到更目录,xml文件名在配置中

                var currentExecutingPath = System.AppDomain.CurrentDomain.BaseDirectory;
                var xmlNameConfig = _appConfiguration["App:SwaggerXmlName"];
                //此配置可直接映射application层也可以映射host中控制器那层
                //所有可能出现多个xml name
                //存在多个配置
                if (xmlNameConfig.Contains('&'))
                {
                    foreach (var item in xmlNameConfig.Split('&'))
                    {
                        options.IncludeXmlComments($"{currentExecutingPath}/{item}",true);
                    }                             
                }
            }
}

至此启动运行即可

最后

返回总目录

posted @ 2019-01-04 13:52  那年的夏天  阅读(1526)  评论(0编辑  收藏  举报