先亮源代码:https://github.com/axzxs2001/Asp.NetCoreExperiment/tree/master/Asp.NetCoreExperiment/SwaggerDemo
这篇博文不是对asp.net core中使用Swagger作介绍,因为社区博客作了详细说明。
今天主要说一下Swagger在Ocelot网关权限验证模式下的访问,以及Swagger请求应答的数据格式。
首先创建四个项目:
SwaggerOcelot:asp.net core web api类型,api网关项目
SwaggerAuthorize:asp.net core web api类型,用户验证项目
SwaggerAPI01:asp.net core web api类型,api 1项目
SWaggerAPI02:asp.net core web api类型,api 2项目
首先在四个项目中添加基于Jwt的Toekn认证,参见https://www.cnblogs.com/axzxs2001/p/9250588.html
再在四个项目Nuget中引入Swashbuckle.AspNetCore,我的Demo中用的是2.5.0,再分别配置Swagger
SwaggerAuthorize Starup.cs配置
SwaggerAPI01,SwaggerAPI02类似,Starup.cs配置,其中让Swagger支付Token验证,就是要在这部分添加Swagger配置
SwaggerOcelot,Starup.cs配置
接下来,为Swagger访问Web API项目,添加请求返回格式,默认状况下,Swagger是支持Json的,下来添加支持XML格式
第一步,添加支持XML格式
第二步,在对应的Action添加ProducesResponseType特性,为转换作支持
运行效果:
先看登录
再看api访问
相关文章