.NetCore2.1 WebAPI新增Swagger插件

说明

Swagger是一个WebAPI在线注解、调试插件,过去我们主要通过手工撰写WebAPI接口的交互文档供前端开发人员或外部开发者,

官网地址:https://swagger.io/

但是在实际工作中,往往咋们的文档工作通常落后于实际的环境,导致文档和实际接口不一致,前后端开发人员苦不堪言。

Swagger的出现解放了接口文档撰写的麻烦也提高了前后端开发者的工作效率,所谓“工欲善其事,必先利其器 ”。现在让咋们

了解下在.NET Core 2.1下如何实现Swagger。

1、Nuget安装依赖包

 首先Nuget安装Swashbuckle.AspNetCore

打开Nuget控制台(程序包管理控制台),键入下列命令

Install-Package  Swashbuckle.AspNetCore

2、添加Swagger中间件

public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddMvc().AddJsonOptions(options =>
            {
                //忽略循环引用
                options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                //不使用驼峰样式的key
                options.SerializerSettings.ContractResolver = new DefaultContractResolver();
            })
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

            // Register the Swagger generator, defining 1 or more Swagger documents
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
            });
            return RegisterAutofac(services);//注册Autofac
        }

  

 引用Swashbuckle.AspNetCore.Swagger,并启用中间件

 1    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 2         {
 3             if (env.IsDevelopment())
 4             {
 5                 app.UseDeveloperExceptionPage();
 6             }
 7             // Enable middleware to serve generated Swagger as a JSON endpoint.
 8             app.UseSwagger();
 9             // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), 
10             // specifying the Swagger JSON endpoint.
11             app.UseSwaggerUI(c =>
12             {
13                 c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
14             });
15             app.UseVisitLogger();
16             app.UseMvc();
17         }

3、配置WebAPI项目属性

1、双击Properties下的launchSettings.json,将launchUrl更新为swagger

 

F5结果如下:

猜你喜欢

转载自www.cnblogs.com/hunanzp/p/9279906.html