NetCore?配置Swagger的詳細代碼
1.添加Nuget
install-package Swashbuckle.AspNetCore -project XXX -version 6.4.0
2.添加靜態(tài)類擴展方法
2.1.生成項目xml:選中項目 / 右鍵 / 屬性 / 生成 / 輸出 / 選中xml文檔文件
2.2.system_v1:必須唯一不重復,且【options.SwaggerDoc("system_v1"】必須與【options.SwaggerEndpoint("/swagger/system_v1/】一致,不然會異?!綟ailed to load API definition; Fetch error: response status is 404 /swagger/system_v1/swagger.json】
/// <summary> /// Swagger 靜態(tài)類 /// </summary> public static class SwaggerExtend { /// <summary> /// 添加服務: swagger /// </summary> /// <param name="services"></param> /// <returns></returns> public static void AddCustSwagger(this IServiceCollection services) { var version = "V1.0"; var apiName = "XXX系統(tǒng)"; services.AddSwaggerGen(options => { options.ResolveConflictingActions(apiDescriptions => apiDescriptions.First()); options.SwaggerDoc("system_v1", new OpenApiInfo { Version = version, Title = $"{apiName} API", Description = $"{apiName} {version} 接口服務" }); // 獲取應用程序所在目錄 var basePath = Path.GetDirectoryName(typeof(SwaggerExtend).Assembly.Location); var xmlPath = Path.Combine(basePath, "ProjectName.xml"); // swagger界面默認只顯示 方法&字段 注釋,不顯示 控制器注釋 // 第二個參數(shù)為true, 則是controller的注釋 //options.IncludeXmlComments(xmlPath); options.IncludeXmlComments(xmlPath, true); }); } /// <summary> /// 添加中間件: swagger /// </summary> /// <param name="app"></param> public static void UseCustSwagger(this IApplicationBuilder app) { app.UseSwagger(); app.UseSwaggerUI(options => { options.SwaggerEndpoint("/swagger/system_v1/swagger.json", "系統(tǒng)API"); // 默認路徑為:/swagger/index.html // 路由前綴 - 設置為空,可直接跳轉(zhuǎn)到swagger頁面:/index.html // api測試可設置為空,部署時容易與前端路由沖突 options.RoutePrefix = string.Empty; }); } }
3.StartUp注冊服務,添加中間件
public void ConfigureServices(IServiceCollection services) { services.AddCustSwagger(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseCustSwagger(); }
到此這篇關(guān)于NetCore 配置Swagger的的文章就介紹到這了,更多相關(guān)NetCore 配置Swagger內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
AspNetPager+GridView實現(xiàn)分頁的實例代碼
AspNetPager+GridView實現(xiàn)分頁的實例代碼,需要的朋友可以參考一下2013-03-03ASP.NET中Webservice安全 實現(xiàn)訪問權(quán)限控制
本文主要講解ASP.NET中的Webservice的安全設置兩種方法,一種基于soapheader,一種基于SoapExtensionAttribute,需要的朋友可以參考下。2016-05-05在GridView中LinkButton的屬性的應用(如何不用選中就刪除這一行)
GridView中LinkButton的屬性的應用,實現(xiàn)不用選中就刪除這一行2009-04-04.Net?core?Blazor+自定義日志提供器實現(xiàn)實時日志查看器的原理解析
我們經(jīng)常遠程連接服務器去查看日志,比較麻煩,如果直接訪問項目的某個頁面就能實時查看日志就比較奈斯了,結(jié)合blazor實現(xiàn)了基本效果,這篇文章主要介紹了.Net?core?Blazor+自定義日志提供器實現(xiàn)實時日志查看器,需要的朋友可以參考下2022-10-10ASP.NET(AJAX+JSON)實現(xiàn)對象調(diào)用
最近開始學習ASP.NET AJAX 搞了兩天學了點皮毛,貼點代碼 日后方便自己查看.2010-01-01