.Net Core3.1下使用Swagger搭建web api項目


前言:微軟於前天發布.net core 3.1正式版,並將長期支持3.1。所以我聽到這個消息后就急忙下載.net core 3.1的SDK和Runtime,應該是公司最先用3.1的攻城獅了😄。

OK!廢話少說,今天的目的是基於.net core 3.1建一個web api的項目

先下載.net core 3.1的SDK(開發.net core項目時會用到)和Runtime(用來運行.net core的應用程序)

地址:https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral

 創建ASP.NET Core web項目 ps:不要選錯了😂

這里說一下項目目錄下的各個文件的作用

 引入Swashbuckle.AspNetCore程序包

 執行以下命令

Install-Package Swashbuckle.AspNetCore -Version 5.0.0-rc4

 添加 並配置Swagger中間件

  services.AddSwaggerGen(c =>
  {
      c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
  });

  app.UseSwagger();
  app.UseSwaggerUI(c =>
  {
      c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
  });

 現在添加一個控制器,寫一個接口看看能不能出來

 地址欄改一下

swagger/index.html

 如果對接口做了xml注釋,要在Startup添加如下代碼,才可以顯示出來

先引入NuGet包:Microsoft.Extensions.PlatformAbstractions

然后右鍵屬性

 再在Startup中添加下面的代碼

 var basePath = PlatformServices.Default.Application.ApplicationBasePath;
//var basePath = AppDomain.CurrentDomain.BaseDirectory;
//Core.Admin.webapi.xml是我的項目生成XML文檔的后綴名,具體的以你項目為主 var xmlPath = Path.Combine(basePath, "Core.Admin.webapi.xml");
//第二個參數為true的話則控制器上的注釋也會顯示(默認false) c.IncludeXmlComments(xmlPath,true);

 運行項目,注釋已經出來了

在launchSettings.json中更改一下launchUrl這個環境變量,這樣就不用每次都改地址欄了

最后附上微軟官方教程地址

https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.1&tabs=visual-studio


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM