昂首阔步怎么在asp.net 3.0核心项目中使用

  介绍

本篇文章给大家分享的是有关大摇大摆怎么在asp.net 3.0核心项目中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强>大摇大摆基本使用#

大摇大摆服务注册:

services.AddSwaggerGen (option =比;   ,{   ,option.SwaggerDoc (“sparktodo", new  OpenApiInfo   ,{   Version =,才能“v1",   Title =,才能“SparkTodo  API"   Description =,才能“API  for  SparkTodo"   时间=Contact 才能;new  OpenApiContact (), {, Name =,“WeihanLi",, Email =,“weihanli@outlook.com",}   ,});   ,   ,//include  document 文件   ,option.IncludeXmlComments (Path.Combine (AppContext.BaseDirectory,美元“{typeof(启动).Assembly.GetName () . name} .xml"),,真的);   以前,});

中间件配置:

//Enable  middleware 用serve  generated  Swagger  as  a  JSON 端点。   app.UseSwagger ();//Enable  middleware 用serve  swagger-ui  (HTML、, JS, CSS 等等),,specifying 从而Swagger  JSON 端点   app.UseSwaggerUI (option =比;   {   ,option.SwaggerEndpoint(“/得意/sparktodo/swagger.json",,“sparktodo  Docs");=,,option.RoutePrefix  string.Empty;=,option.DocumentTitle “SparkTodo  API";   });

<强>为大摇大摆添加持票人牌认证#

services.AddSwaggerGen (option =比;   {   ,//?      ,//Add  security 定义   ,option.AddSecurityDefinition (“Bearer", new  OpenApiSecurityScheme ()   ,{=,Description “Please  enter  into  field 从而word  & # 39;无记名# 39;,followed  by  a  space 以及,JWT  value"=,Name “Authorization",   ,=,拷贝ParameterLocation.Header,=,,Type  SecuritySchemeType.ApiKey,   ,});   option.AddSecurityRequirement (new  OpenApiSecurityRequirement   ,{   ,{new  OpenApiSecurityScheme   ,{   参考文档才能=,new  OpenApiReference ()   {才能   Id =,才能“Bearer",   Type 才能=ReferenceType.SecurityScheme   ,,}   ,},Array.Empty (),}   ,});   });

<强>支持多个ApiVersion #

services.AddApiVersioning (options =比;   ,{=,options.AssumeDefaultVersionWhenUnspecified 真实;=,,options.DefaultApiVersion  ApiVersion.Default;=,options.ReportApiVersions 真实;   ,});      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 ()   .OfType<才能;ApiVersionAttribute> ()   .SelectMany才能(attr =祝辞,attr.Versions);      ,return  versions.Any (v =祝辞,美元“v {v.ToString ()},,==, docName);   ,});      ,option.OperationFilter ();   ,option.DocumentFilter ();   });

自定义Api版本相关的OperationFilter:

public  class  SetVersionInPathDocumentFilter : IDocumentFilter   {   ,public  void 应用(OpenApiDocument  swaggerDoc, DocumentFilterContext 上下文)   ,{   ,var  updatedPaths =, new  OpenApiPaths ();      ,foreach  (var  entry  swaggerDoc.Paths拷贝)   ,{   updatedPaths.Add才能(   entry.Key.Replace才能(“v {version}“,, swaggerDoc.Info.Version),   entry.Value才能);   ,}=,,swaggerDoc.Paths  updatedPaths;   ,}   }      public  class  RemoveVersionParameterOperationFilter : IOperationFilter   {   ,public  void 应用(OpenApiOperation 操作,,OperationFilterContext 上下文)   ,{   ,//Remove  version  parameter 得到all 操作   ,var  versionParameter =, operation.Parameters.Single (p =祝辞,p.Name ==,“version");   ,operation.Parameters.Remove (versionParameter);   ,}   null   null   null   null   null   null   null   null   null   null   null

昂首阔步怎么在asp.net 3.0核心项目中使用