NSwag.AspNetCore常用功能介紹


對於asp.net core 下的Swagger,之前一直用Swashbuckle的,因為官方推薦,再加上有老張的博客助力《從壹開始前后端分離【 .NET Core2.0/3.0 +Vue2.0 】框架之三 || Swagger的使用 3.1》,所以用起來很順手,但Swashbuckle有個問題,一直沒解決,就是如果你的網站不是部署在根目錄的話,是部署IIS在虛擬應用程序下的話,那Swagger就用不了了,不知有沒有朋友有解決的方法,后面我試用了NSwag,發現它可以用在虛擬應用程序下,也是微軟官方推薦的,多方比對,就采用了NSwag.AspNetCore。

使用方法,很簡單,按微軟官網介紹的入門方法,如下圖

 

 

我這個博客基礎的我就不寫出來了,寫幾點常用功能

實現登錄認證token的輸入

現在的前后端分享項目,主要采用在header里添加token來進行身份認證,那如何在NSwag的Swagger上面實現這個功能呢。代碼如下

services.AddOpenApiDocument(settings =>
{
  settings.AddSecurity("身份認證Token", Enumerable.Empty<string>(), new NSwag.OpenApiSecurityScheme()
  {
    Description = "JWT授權(數據將在請求頭中進行傳輸) 直接在下框中輸入Bearer {token}(注意兩者之間是一個空格)",
    Name = "Authorization",
    In = NSwag.OpenApiSecurityApiKeyLocation.Header,
    Type = NSwag.OpenApiSecuritySchemeType.ApiKey
  });
});

實現效果如下圖

 

 

實現控制器及接口的注釋

接口方法的注釋很容易,跟Swashbuckle基本一樣,在項目的屬性里勾選生成xml文檔。

 

 然后在方法上這樣注釋就可以實現接口說明了。

 

 

但控制器的注釋說明就不像Swashbuckle那么方便了,它得用一個特性類OpenApiTag,如下圖所示

 

 

 

最終實現效果如下

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM