.net core3.0 webapi搭建(一)


一.創建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

 

 


免責聲明!

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



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