C# ABP WebApi与Swagger UI的集成

本文是配置WebApi与Swagger UI,可以参照 http://www.cnblogs.com/farb/p/ABPSwaggerUIIntegration.html

 

1. 安装swagger nuget包

首先,将Swagger安装到WebApi项目中。我们安装到WebApi类库中,包为 Install-Package Swashbuckle.Core,如下:

image

 

2. 配置 WebApiModule

我们打开WebApi类库下面的WebApiModule类,因为我们的项目叫MyThirdABP,所以类叫MyThirdABPWebApiModule。

首先,在类里面加入方法:

        public override void PreInitialize()
        {
            Configuration.Modules.AbpWeb().AntiForgery.IsEnabled = false;
            base.PreInitialize();
        }
        private void ConfigureSwaggerUi()
        {
            Configuration.Modules.AbpWebApi().HttpConfiguration
            .EnableSwagger(c =>
            {
                c.SingleApiVersion("v1", "SwaggerIntegrationDemo.WebApi");
                c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
                //将application层中的注释添加到SwaggerUI中
                var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;

                var commentsFileName = "bin\\MyThirdABP.Web.XML";
                var commentsFile = Path.Combine(baseDirectory, commentsFileName);
                //将注释的XML文档添加到SwaggerUI中
                c.IncludeXmlComments(commentsFile);
            })
            .EnableSwaggerUi();
        }

然后,在Initialize方法中,调用ConfigureSwaggerUi的方法。

        public override void Initialize()
        {
            IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());

            Configuration.Modules.AbpWebApi().DynamicApiControllerBuilder
                .ForAll<IApplicationService>(typeof(MyThirdABPApplicationModule).Assembly, "app")
                .Build();
            ConfigureSwaggerUi();
        }

 

代码已经完毕,但是我们要注意的一点,我们看到ConfigureSwaggerUi方法里面,commentsFileName变量是指定路径的。所以我们要在路径下面做一些配置。

选中Web项目,然后右键属性—>生成—>输出—>勾选 XML文档文件,并且把内容复制到commentsFileName变量中。

image

 

3. 运行Swagger

首先,我们将web设为启动项目。在路径后面加入 /swagger/ui/index,如下:

image

 

到此,启动成功。

 

可以关注本人的公众号,多年经验的原创文章共享给大家。

posted on 2017-03-07 10:54 alun-chen 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/alunchen/p/6513584.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值