Swagger如何访问Ocelot中带权限验证的API
2018-07-11

先亮源代码: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访问

相关文章

原文地址: https://www.cnblogs.com/axzxs2001/p/9253495.html