当前位置: 首页 > news >正文

自己做的腾讯充值网站漳州商城网站建设

自己做的腾讯充值网站,漳州商城网站建设,淘客推广网站怎么做,鲜花类网站建设策划书范文asp.net core 3.0 中使用 swaggerIntro上次更新了 asp.net core 3.0 简单的记录了一下 swagger 的使用#xff0c;那个项目的 api 比较简单#xff0c;都是匿名接口不涉及到认证以及 api 版本控制#xff0c;最近把另外一个 api 项目升级到了 3.0#xff0c;还是遇到了一些… asp.net core 3.0 中使用 swaggerIntro上次更新了 asp.net core 3.0 简单的记录了一下 swagger 的使用那个项目的 api 比较简单都是匿名接口不涉及到认证以及 api 版本控制最近把另外一个 api 项目升级到了 3.0还是遇到了一些问题这里单独写一篇文章介绍避免踩坑。Swagger 基本使用swagger 服务注册services.AddSwaggerGen(option { option.SwaggerDoc(sparktodo, new OpenApiInfo { Version v1, Title SparkTodo API, Description API for SparkTodo, Contact new OpenApiContact() { Name WeihanLi, Email weihanlioutlook.com } }); // include document file option.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, ${typeof(Startup).Assembly.GetName().Name}.xml), true); });中间件配置//Enable middleware to serve generated Swagger as a JSON endpoint. app.UseSwagger(); //Enable middleware to serve swagger-ui (HTML, JS, CSS etc.), specifying the Swagger JSON endpoint app.UseSwaggerUI(option { option.SwaggerEndpoint(/swagger/sparktodo/swagger.json, sparktodo Docs); option.RoutePrefix string.Empty; option.DocumentTitle SparkTodo API; });为 Swagger 添加 Bearer Token 认证services.AddSwaggerGen(option { // ... // Add security definitions option.AddSecurityDefinition(Bearer, new OpenApiSecurityScheme() { Description Please enter into field the word Bearer followed by a space and the JWT value, Name Authorization, In ParameterLocation.Header, Type SecuritySchemeType.ApiKey, }); option.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference new OpenApiReference() { Id Bearer, Type ReferenceType.SecurityScheme } }, Array.Emptystring() } }); });支持多个 ApiVersionservices.AddApiVersioning(options { options.AssumeDefaultVersionWhenUnspecified true; options.DefaultApiVersion ApiVersion.Default; options.ReportApiVersions true; }); services.AddSwaggerGen(option { // ... option.SwaggerDoc(v1, new OpenApiInfo { Version v1, Title API V1 }); option.SwaggerDoc(v2, new OpenApiInfo { Version v2, Title API V2 }); option.DocInclusionPredicate((docName, apiDesc) { var versions apiDesc.CustomAttributes() .OfTypeApiVersionAttribute() .SelectMany(attr attr.Versions); return versions.Any(v $v{v.ToString()} docName); }); option.OperationFilterRemoveVersionParameterOperationFilter(); option.DocumentFilterSetVersionInPathDocumentFilter(); });自定义 Api version 相关的 OperationFilter:public class SetVersionInPathDocumentFilter : IDocumentFilter { public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context) { var updatedPaths new OpenApiPaths(); foreach (var entry in swaggerDoc.Paths) { updatedPaths.Add( entry.Key.Replace(v{version}, swaggerDoc.Info.Version), entry.Value); } swaggerDoc.Paths updatedPaths; } } public class RemoveVersionParameterOperationFilter : IOperationFilter { public void Apply(OpenApiOperation operation, OperationFilterContext context) { // Remove version parameter from all Operations var versionParameter operation.Parameters.Single(p p.Name version); operation.Parameters.Remove(versionParameter); } }中间件配置//Enable middleware to serve generated Swagger as a JSON endpoint. app.UseSwagger(); //Enable middleware to serve swagger-ui (HTML, JS, CSS etc.), specifying the Swagger JSON endpoint app.UseSwaggerUI(option { option.SwaggerEndpoint(/swagger/v2/swagger.json, V2 Docs); option.SwaggerEndpoint(/swagger/v1/swagger.json, V1 Docs); option.RoutePrefix string.Empty; option.DocumentTitle SparkTodo API; });最终 swagger 效果Memo上面的配置来自 https://github.com/WeihanLi/SparkTodo 这个项目要获取代码可以参考这个项目Referencehttps://github.com/domaindrivendev/Swashbuckle.AspNetCore/tree/master/test/WebSites/MultipleVersions/Swaggerhttps://stackoverflow.com/questions/58197244/swaggerui-with-netcore-3-0-bearer-token-authorizationhttps://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/1295https://github.com/WeihanLi/SparkTodo
http://www.yutouwan.com/news/135009/

相关文章:

  • 北京市建设工程教育考试网站做网站还能赚钱
  • 建设厅网站查询电工证件学做ppt的网站 免费下载
  • 网站建设企业熊掌号网站建设和管理维护
  • 设计师做网站的流程wordpress 六亩填
  • 课程网站怎么做个人网站icp备案
  • 建设银行app官方下载湖南网站营销seo哪家好
  • 商城网站备案能通过吗乐清上班族网论坛
  • 共享ip服务器做网站蓝屏的钙 WordPress
  • 诚信网站体系建设工作遵义网站开发公司电话
  • 金华企业网站建站模板沈阳网站建设成创
  • 怎么样给一个网站做横向导航栏微网站建设需付费吗
  • wordpress产品网站宁阳县住房和城乡建设局网站
  • 网站假设公司排名自己做的网站怎么管理用户
  • 自己能做网站吗esuwiki wordpress
  • 网站不用模板如何更新文章自己建站流程
  • 网站设计与规划作业seo网站关键词排名快速
  • wex5网站开发wordpress浏览器跳转
  • 网站开发外包计入什么科目建设银行招生网站
  • 烟台网站建设推广wordpress英文切换
  • 免费的舆情网站app网络程序员
  • 美食网站建设多少钱网站热力图工具
  • 新开传奇网站发布网单职业微信怎么开通公众号
  • 公司网站定制开发西安未央网站建设
  • 手机网站制作平台网站搭建公司案例网址
  • 什么网站教做医学实验报告云浮网站建设
  • 做网站的专业词汇开发公司税金计算基数
  • 做编程网站有哪些方面wordpress loren
  • 网站开发项目团队公众号做漫画网站
  • 网站排名查询用cms建网站
  • 欧派网站谁做的网站模板好