Swagger
是一款自動生成在線介面檔案+功能測驗功能軟體
一、安裝程式包
通過管理 NuGet 程式包安裝,搜索Swashbuckle.AspNetCore

二、配置 Swagger
將 Swagger 添加到 Startup.ConfigureServices 方法中的服務集合中:
//注入Swagger服務 services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" }); });
在 Startup.Configure 方法中,啟用中間件為生成的 JSON 檔案和 Swagger UI 提供服務
//啟用Swagger服務 app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); c.DefaultModelsExpandDepth(-1); //設定為 - 1 可不顯示models c.DocExpansion(DocExpansion.None); //設定為none可折疊所有方法 });
運行專案,可在 http://localhost:<port>/swagger 瀏覽 API檔案,如下所示:

如果想把Swagger作為啟動頁面,可修改launchSettings.json,把 launchUrl設定為 swagger:
"IIS Express": { "commandName": "IISExpress", "launchBrowser": true, //是否在瀏覽器中啟動 "launchUrl": "swagger", //在瀏覽器中啟動的相對URL "environmentVariables": { //將環境變數設定為鍵/值對 "ASPNETCORE_ENVIRONMENT": "Development" }
所有的Controller 的方法都是可以在 UI 上面進行測驗,點擊方法可以展開對應的區域,點擊【Try it out】→ 【輸入引數】→ 點擊【Execute】,
三、可擴展性
Swagger 檔案資訊和描述
修改AddSwaggerGen 方法,用來添加檔案資訊,例如:作者,著作權,描述,
services.AddSwaggerGen(option => { option.SwaggerDoc("v1", new Info { Version = "v1", Title = "在線介面檔案", Description = "一個簡單的例子", Contact = new Contact { Name = "TengHao", Email = "[email protected]" }, License = new License { Name = "博客地址", Url = "https://www.cnblogs.com/tenghao510/" } }); });
下圖展示了 Swagger UI 顯示添加的版本資訊,

XML注釋
【右鍵專案】→【屬性】→ 【生成】→ 【勾選XML 檔案檔案】注意自己的路徑

修改AddSwaggerGen 方法,
備注:IncludeXmlComments方法中的includeControllerXmlComments引數控制是否顯示控制器注釋,默認是false,
services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Version = "v1", Title = "在線介面檔案", Description = "一個簡單的例子", Contact = new Contact { Name = "TengHao", Email = "[email protected]" }, License = new License { Name = "TengHao", Url = "https://www.cnblogs.com/tenghao510/" } }); // 為 Swagger JSON and UI設定xml檔案注釋路徑 var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);//獲取應用程式所在目錄 var xmlPath01 = Path.Combine(basePath, "NetCoreWebApi.xml"); c.IncludeXmlComments(xmlPath01, true); var xmlPath = Path.Combine(basePath, "NetCoreWebApi.Model.xml"); c.IncludeXmlComments(xmlPath); });
運行專案,再看看效果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/89725.html
標籤:.NET Core
