.NET Core 3.0 webapi集成Swagger 5.0

在项目中引用Swashbuckle.AspNetCore和Swashbuckle.AspNetCore.Filters两个dll,在Startup中的ConfigureServices相关配置代码如下      

640?wx_fmt=png


 两个重点:

1、options.DocumentFilter<HiddenApiFilter>();定义那些接口方法被隐藏

2、启用oauth2安全授权访问api接口

                options.OperationFilter<SecurityRequirementsOperationFilter>();
//给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

原文地址:https://www.cnblogs.com/cqinwn/p/10918206.html

 
  

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 
640?wx_fmt=jpeg