NetCore?配置Swagger的詳細(xì)代碼
1.添加Nuget
install-package Swashbuckle.AspNetCore -project XXX -version 6.4.0
2.添加靜態(tài)類擴(kuò)展方法
2.1.生成項(xiàng)目xml:選中項(xiàng)目 / 右鍵 / 屬性 / 生成 / 輸出 / 選中xml文檔文件
2.2.system_v1:必須唯一不重復(fù),且【options.SwaggerDoc("system_v1"】必須與【options.SwaggerEndpoint("/swagger/system_v1/】一致,不然會異常【Failed 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> /// 添加服務(wù): 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} 接口服務(wù)" }); // 獲取應(yīng)用程序所在目錄 var basePath = Path.GetDirectoryName(typeof(SwaggerExtend).Assembly.Location); var xmlPath = Path.Combine(basePath, "ProjectName.xml"); // swagger界面默認(rèn)只顯示 方法&字段 注釋,不顯示 控制器注釋 // 第二個(gè)參數(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"); // 默認(rèn)路徑為:/swagger/index.html // 路由前綴 - 設(shè)置為空,可直接跳轉(zhuǎn)到swagger頁面:/index.html // api測試可設(shè)置為空,部署時(shí)容易與前端路由沖突 options.RoutePrefix = string.Empty; }); } }
3.StartUp注冊服務(wù),添加中間件
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實(shí)現(xiàn)分頁的實(shí)例代碼
AspNetPager+GridView實(shí)現(xiàn)分頁的實(shí)例代碼,需要的朋友可以參考一下2013-03-03ASP.NET中Webservice安全 實(shí)現(xiàn)訪問權(quán)限控制
本文主要講解ASP.NET中的Webservice的安全設(shè)置兩種方法,一種基于soapheader,一種基于SoapExtensionAttribute,需要的朋友可以參考下。2016-05-05基于ABP框架實(shí)現(xiàn)RBAC(角色訪問控制)
本文詳細(xì)講解了基于ABP框架實(shí)現(xiàn)RBAC(角色訪問控制)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12.net數(shù)據(jù)庫連接池配置技巧(默認(rèn)值)
ado.net 本就有連接功能,所有.net開法基本不用去考慮連接問題,怪不得.net的連接池資料網(wǎng)上找不到。.net連接池只要在連接字符串里配制就可以了2008-12-12在GridView中LinkButton的屬性的應(yīng)用(如何不用選中就刪除這一行)
GridView中LinkButton的屬性的應(yīng)用,實(shí)現(xiàn)不用選中就刪除這一行2009-04-04.Net?core?Blazor+自定義日志提供器實(shí)現(xiàn)實(shí)時(shí)日志查看器的原理解析
我們經(jīng)常遠(yuǎn)程連接服務(wù)器去查看日志,比較麻煩,如果直接訪問項(xiàng)目的某個(gè)頁面就能實(shí)時(shí)查看日志就比較奈斯了,結(jié)合blazor實(shí)現(xiàn)了基本效果,這篇文章主要介紹了.Net?core?Blazor+自定義日志提供器實(shí)現(xiàn)實(shí)時(shí)日志查看器,需要的朋友可以參考下2022-10-10ASP.NET(AJAX+JSON)實(shí)現(xiàn)對象調(diào)用
最近開始學(xué)習(xí)ASP.NET AJAX 搞了兩天學(xué)了點(diǎn)皮毛,貼點(diǎn)代碼 日后方便自己查看.2010-01-01