我這用的是.net core 3.1,沒有可點擊https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral下載

屁話不多少,先打開VS2019,創建一個API

配置一下項目


好現在我們.net core 3.1 Api項目就創建成功了,接下來看配置

先配置:swagger Swashbuckle.AspNetCore程序包
項目右擊,管理NuGet程序包

再配置:Startup.cs文件
Swagger中間件
ConfigureServices下加:
services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); });
Configure下加
app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); });
如下圖

現在加一個控制器,看一下swagger接口
//路由設置 [Route("api/[controller]/[action]")] [ApiController] public class HomeController : ControllerBase { /// <summary> /// 獲取文本 /// </summary> /// <returns></returns> [HttpGet] public ActionResult<string> Get() { return "Hello World!"; } /// <summary> /// 兩數相加 /// </summary> /// <param name="num1">第一個數</param> /// <param name="num2">第二個數</param> /// <returns></returns> [HttpGet] public ActionResult<int> Sum(int num1, int num2) { return num1 + num2; } /// <summary> /// 兩數相減 /// </summary> /// <param name="param">參數</param> /// <returns></returns> [HttpPost] public ActionResult<int> Subtract(Param param) { int result = param.num1 - param.num2; return result; } } /// <summary> /// 參數 /// </summary> public class Param { /// <summary> /// 第一個數 /// </summary> public int num1 { get; set; } /// <summary> /// 第二個數 /// </summary> public int num2 { get; set; } }
如下圖

現在運行看下效果
路徑改為:swagger/index.html

接着再配置xml注釋
先引入NuGet包:Microsoft.Extensions.PlatformAbstractions
如下圖

繼續右鍵:屬性

繼續在Startup文件下配置如下代碼
#region var basePath = PlatformServices.Default.Application.ApplicationBasePath; //var basePath = AppDomain.CurrentDomain.BaseDirectory; //Core.Admin.webapi.xml是我的項目生成XML文檔的后綴名,具體的以你項目為主 var xmlPath = Path.Combine(basePath, "FirstApi.xml"); //第二個參數為true的話則控制器上的注釋也會顯示(默認false) c.IncludeXmlComments(xmlPath, true); #endregion
如下圖

可能會出問題的是xml路徑沒有配置正確
此路徑為 basepath根目錄下xml路徑

配置好注釋xml運行一下api

現在注釋就出來了。
就這么多了,每天成長一點點。加油。
