91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.Net Core2.1 WebAPI新增Swagger插件的示例分析

發布時間:2021-08-17 11:09:40 來源:億速云 閱讀:263 作者:小新 欄目:開發技術

小編給大家分享一下.Net Core2.1 WebAPI新增Swagger插件的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

說明

Swagger是一個WebAPI在線注解、調試插件,過去我們主要通過手工撰寫WebAPI接口的交互文檔供前端開發人員或外部開發者,

官網地址:https://swagger.io/。

但是在實際工作中,往往咋們的文檔工作通常落后于實際的環境,導致文檔和實際接口不一致,前后端開發人員苦不堪言。

Swagger的出現解放了接口文檔撰寫的麻煩也提高了前后端開發者的工作效率,所謂“工欲善其事,必先利其器 ”。現在讓咋們

了解下在.NET Core 2.1下如何實現Swagger。

1、Nuget安裝依賴包

 首先Nuget安裝Swashbuckle.AspNetCore

打開Nuget控制臺(程序包管理控制臺),鍵入下列命令

Install-Package Swashbuckle.AspNetCore

2、添加Swagger中間件

public IServiceProvider ConfigureServices(IServiceCollection services)
 {
  services.Configure<CookiePolicyOptions>(options =>
  {
  // This lambda determines whether user consent for non-essential cookies is needed for a given request.
  options.CheckConsentNeeded = context => true;
  options.MinimumSameSitePolicy = SameSiteMode.None;
  });
 
  services.AddMvc().AddJsonOptions(options =>
  {
  //忽略循環引用
  options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
  //不使用駝峰樣式的key
  options.SerializerSettings.ContractResolver = new DefaultContractResolver();
  })
  .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
 
  // Register the Swagger generator, defining 1 or more Swagger documents
  services.AddSwaggerGen(c =>
  {
  c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
  });
  return RegisterAutofac(services);//注冊Autofac
 }

引用Swashbuckle.AspNetCore.Swagger,并啟用中間件

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
  if (env.IsDevelopment())
  {
  app.UseDeveloperExceptionPage();
  }
  // 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(c =>
  {
  c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
  });
  app.UseVisitLogger();
  app.UseMvc();
 }

3、配置WebAPI項目屬性

1、雙擊Properties下的launchSettings.json,將launchUrl更新為swagger

.Net Core2.1 WebAPI新增Swagger插件的示例分析 

F5結果如下:

.Net Core2.1 WebAPI新增Swagger插件的示例分析

 4、新增注解

如上圖,雖然WebAPI已經出來了,但是呢,并沒有發現我們在Action上寫的注釋? 老司機應該知道在Framework版本里我們需要

將WebAPI啟動項屬性里更改“項目生產“一欄中新增XML文檔,.NetCore也是如此。如下圖:

.Net Core2.1 WebAPI新增Swagger插件的示例分析 

保存后,按F5發現并木有生產注解,Why???  那是因為我們必須明確告訴Swagger應該從哪個路徑讀取WebAPI注解XML文件,更新Startup下的ConfigureServices。

參考下面代碼:

// Register the Swagger generator, defining 1 or more Swagger documents
 services.AddSwaggerGen(options =>
 {
  options.SwaggerDoc("v1", new Info { Title = "TestSystem", Version = "v1" });    
  //注入WebAPI注釋文件給Swagger  
  var xmlPath = Path.Combine(AppContext.BaseDirectory, "AirWebApi.xml");
  options.IncludeXmlComments(xmlPath);
 
  options.IgnoreObsoleteActions();
  ////options.IgnoreObsoleteControllers();
  //// 類、方法標記 [Obsolete],可以阻止【Swagger文檔】生成
  options.DescribeAllEnumsAsStrings();   
  options.OperationFilter<FormDataOperationFilter>();
 });

代碼不單單新增了注解,同時添加了阻止Swagger文檔生成的配置,通過讀取系統的[Obsolete]特性實現。

現在,讓我們再看看結果吧~

.Net Core2.1 WebAPI新增Swagger插件的示例分析以上是“.Net Core2.1 WebAPI新增Swagger插件的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

顺平县| 静安区| 呼伦贝尔市| 大宁县| 湟中县| 闻喜县| 定西市| 麻江县| 黔江区| 饶平县| 福贡县| 阳新县| 鄂温| 株洲市| 五莲县| 乌什县| 崇明县| 邻水| 同心县| 容城县| 云梦县| 龙里县| 同仁县| 阜康市| 大化| 睢宁县| 恩平市| 乌鲁木齐县| 凤凰县| 绥江县| 临夏市| 泰州市| 隆化县| 玛曲县| 济宁市| 太仆寺旗| 阳朔县| 西峡县| 芜湖市| 常山县| 龙江县|