在專案中取用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.AspNetCore和https://github.com/mattfrear/Swashbuckle.AspNetCore.Filters
朋友會在“發現-看一看”看到你“在看”的內容