歡迎光臨
每天分享高質量文章

.NET Core 3.0 webapi整合Swagger 5.0

在專案中取用Swashbuckle.AspNetCore和Swashbuckle.AspNetCore.Filters兩個dll,在Startup中的ConfigureServices相關配置程式碼如下      


 兩個重點:

1、options.DocumentFilter();定義那些介面方法被隱藏

2、啟用oauth2安全授權訪問api介面

                options.OperationFilter();
                //給api新增token令牌證書
                options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
                {
                 Description = "JWT授權(資料將在請求頭中進行傳輸) 直接在下框中輸入Bearer {token}(註意兩者之間是一個空格)\"",
                  Name = "Authorization",//jwt預設的引數名稱
                  In = ParameterLocation.Header,//jwt預設存放Authorization資訊的位置(請求頭中)
                Type = SecuritySchemeType.ApiKey
                });

其中使用SecurityRequirementsOperationFilter需要在控制器頭部加[Authorization]或則方法頭部加[Authorization],如下:

 [Authorize]
 public class TokenController : ControllerBase

或者

[Authorize("Customer")]
public PersonResponse GetPerson([FromBody]PersonRequest personRequest)
這樣在每個接口才會有小鎖出現。

更多介紹請參考https://github.com/domaindrivendev/Swashbuckle.AspNetCorehttps://github.com/mattfrear/Swashbuckle.AspNetCore.Filters

贊(0)

分享創造快樂