1. 程式人生 > >我的第一個netcore2.2 api項目搭建(二)

我的第一個netcore2.2 api項目搭建(二)

dmv exc enable lap close page 嘗試 string 如果

上一章快速使用SqlSugar搭建了netcore api項目,我的第一個netcore2.2 api項目搭建(一)

這一章實現目標二:api使用Swagger,實現api文檔管理

效果圖:第一張收縮,第二張展開,共有2個控制器:values和Account;控制器有註釋,api有註釋,實體有註釋

技術分享圖片技術分享圖片

1.1添加swagger引用

nuget搜索:Swashbuckle.AspNetCore,安裝

技術分享圖片

1.2在startup中註冊swagger

技術分享圖片
public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            
//添加api管理 // Register the Swagger generator, defining 1 or more Swagger documents services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new Info { //Version = "v1", Title = "MyFirst API
",//" API", //Description = "", //TermsOfService = "None", //Contact = new Contact //{ // Name = "", // Email = string.Empty, // Url = "" //},
//License = new License //{ // Name = "Use under LICX", // Url = "" //} }); // Set the comments path for the Swagger JSON and UI. var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); options.IncludeXmlComments(xmlPath, true); xmlPath = Path.Combine(AppContext.BaseDirectory, "JH.OPEMR.Model.xml"); options.IncludeXmlComments(xmlPath, true); }); }
View Code

註意這段:

技術分享圖片

這段代碼是添加註釋,如果有多個文件註釋,只要逐個添加就好了,不建議將xml合並,並且這個需要項目生成相應xml

技術分享圖片技術分享圖片

1.3在Configure中啟用swagger

技術分享圖片
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            //啟用Swagger
            // 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(options =>
            {
                options.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");

            });

            app.UseMvc();
        }
View Code

F5運行之前將啟動頁改成swagger

技術分享圖片

F5運行

技術分享圖片

ok,swagger添加完成。

but,我嘗試添加了一個GetUsers方法。。。

技術分享圖片

技術分享圖片

swagger失敗,該死api路由,很不好理解,還是改成這樣吧

技術分享圖片

F5,變成這樣,直觀多了。。。

技術分享圖片

至此,swagger添加完畢

我的第一個netcore2.2 api項目搭建(二)