本文是配置WebApi與Swagger UI,可以參照 http://www.cnblogs.com/farb/p/ABPSwaggerUIIntegration.html
1. 安裝swagger nuget包
首先,將Swagger安裝到WebApi項目中。我們安裝到WebApi類庫中,包為 Install-Package Swashbuckle.Core,如下:
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變量中。
3. 運行Swagger
首先,我們將web設為啟動項目。在路徑后面加入 /swagger/ui/index,如下:
到此,啟動成功。
可以關注本人的公眾號,多年經驗的原創文章共享給大家。