zoukankan      html  css  js  c++  java
  • 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

    到此,启动成功。

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

  • 相关阅读:
    28335外部中断的简单介绍和配置
    C++中强制类型转换
    GitHub上Markdown语法的高级应用
    C++中强制类型转换
    模拟鼠标点击事件
    clone一行div tr 每次增量赋值
    linux tomcat自动部署shell
    maven 引用本地jar
    JDK自带工具keytool生成ssl证书
    jenkins+maven+svn实现简单的一键发布
  • 原文地址:https://www.cnblogs.com/alunchen/p/6513584.html
Copyright © 2011-2022 走看看