一.創建WebApi專案:


生成專案之后,控制器默認生成了一個WeatherForecastController

我們可以直接啟動專案,F5除錯,默認進入WeatherForecastController控制器,結果:

到這里最原始的webapi環境已經配置好了!
二.配置Swagger插件
插件可以從去swagger官網或github上下載原始碼,然后將原始碼(一個類別庫)引入自己的專案;也可以直接利用NuGet包添加程式集應用,這里我們選擇第二種

在彈出的頁面中,搜索“Swashbuckle.AspNetCore”,(如果解決方案里有多個類別庫,只需要勾選主專案,也就是包含控制器的專案),點擊安裝(注意事項:我這里用的環境是.netcore 3.0 所以在選擇包的時候一定要勾選包括預發行版,5.0.0-rc5)

安裝完之后在專案的依賴項里看下是否安裝成功,
這時如果運行除錯,在域名后面輸入/swagger,會發現swagger還沒有起作用,因為還沒有在專案的啟動項里添加swagger服務,

添加swagger 配置:
打開Startup.cs類,編輯ConfigureServices類(區別于.netcore 2.0)
public void ConfigureServices(IServiceCollection services) { services.AddControllers(); #region Swagger services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Version = "v1.1.0", Title = "WebAPI", Description = "WebAPI" }); }); #endregion }View Code
編輯Configure類(注釋部分看你自己選擇是否默認訪問根目錄)
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); #region Swagger app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1"); //如果設定根目錄為swagger,將此值置空 // c.RoutePrefix = string.Empty; }); #endregion }View Code
啟動專案,如圖:

配置xml注釋檔案:

保存之后,你會看見所有類名和方法名會出現警告資訊:

只需要在上面把注釋加上去即可
編輯Startup.cs,修改ConfigureServices函式:
public void ConfigureServices(IServiceCollection services) { services.AddControllers(); #region Swagger services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Version = "v1.1.0", Title = "WebAPI", Description = "WebAPI", }); // 為 Swagger JSON and UI設定xml檔案注釋路徑 var basePath = Path.GetDirectoryName(AppContext.BaseDirectory);//獲取應用程式所在目錄(絕對,不受作業目錄影響,建議采用此方法獲取路徑) var xmlPath = Path.Combine(basePath, "MyWebApi.xml"); c.IncludeXmlComments(xmlPath); }); #endregion }View Code


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/53324.html
標籤:其他
上一篇:阿里云除錯esp8266失敗
