一.建立WebApi項目:git
生成項目以後,控制器默認生成了一個WeatherForecastControllergithub
咱們能夠直接啓動項目,F5調試,默認進入WeatherForecastController控制器,結果:web
到這裏最原始的webapi環境已經配置好了!json
二.配置Swagger插件api
插件能夠從去swagger官網或github上下載源碼,而後將源碼(一個類庫)引入本身的項目;也能夠直接利用NuGet包添加程序集應用。這裏咱們選擇第二種app
在彈出的頁面中,搜索「Swashbuckle.AspNetCore」,(若是解決方案裏有多個類庫,只須要勾選主項目,也就是包含控制器的項目),點擊安裝(注意事項:我這裏用的環境是.netcore 3.0 因此在選擇包的時候必定要勾選包括預發行版,5.0.0-rc5)ide
安裝完以後在項目的依賴項裏看下是否安裝成功。函數
這時若是運行調試,在域名後面輸入/swagger,會發現swagger尚未起做用,由於尚未在項目的啓動項裏添加swagger服務。ui
添加swagger 配置:spa
打開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 }
編輯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 }
啓動項目,如圖:
配置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 }