net core Webapi基础工程搭建(三)——在线接口文档Swagger

  • 时间:
  • 浏览:1
  • 来源:极速快3_快3最新网址_极速快3最新网址

前言

前后分离的好处,假使 后端埋头做业务逻辑功能,不时要太久考虑用户体验,只专注于数据、性能开发,对于前端时要的数据还也能通过组Json可能性有些方式回调,怎么让前后两端时要选择 好接口Api的规范,怎么让前端可能性时要查看接口的相关信息,就时要文档的支撑了。没人 问題来了,后端在开发过程中每次改动接口,都时要改动文档,累不累。

Swagger

Swagger作为一另俩个在线文档,通就让端的接口控制器生成一套Json串数据,实时展示后端的接口请求地址,参数,类型以及回调,很好的处置你你什儿 问題(后端还也能给前端一另俩个Swagger的地址,怎么让来句你个人看吧,当然还是时要多沟通的),你你什儿 在Java里用过就让,就马上看看有没人 .net的版本,岂也有,语言也有相通的,废话太久说,结束了了英语 第三方类库的引用

NuGet引用第三方类库

工具->NuGet包管理器->管理处置方案的NuGet线程池池运行包...

浏览中查找"Swashbuckle.AspNetCore",选择 项目工程,点击安装。



引入完成后,在Startup.cs文件ConfigureServices中,加入以下代码:

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
            
           #region Swagger
            services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new Info
                {
                    Version = "v1.1.0",
                    Title = "April WebAPI",
                    Description = "后台框架",
                    TermsOfService = "None",
                    Contact = new Contact { Name = "Blank", Email = "1829027193@qq.com", Url = "http://www.aprilblank.com" }
                });
            });
            #endregion 
        }

在Startup.cs类里编辑Configure方式,加入以下代码:

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
           …
           
            #region Swagger
            app.UseSwagger();
            app.UseSwaggerUI(options =>
            {
                options.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1");
            });
            #endregion

            app.UseHttpsRedirection();
            app.UseMvc();
        }

重新生成工程后,访不知道的端口/swagger就还也能看一遍接口文档帮助界面了。

别急,还有

在线的接口文档是有了,可一另俩个接口啥意思也有知道,前端还是得一脸懵逼不知道,你你什儿 接口啥意思啊,你你什儿 参数啥意思啊哪几种的。

没错,注释

还是在Startup.cs文件ConfigureServices中,加入以下代码:

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
            #region Swagger
            services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new Info
                {
                    Version = "v1.1.0",
                    Title = "April WebAPI",
                    Description = "后台框架",
                    TermsOfService = "None",
                    Contact = new Contact { Name = "Blank", Email = "790048789@qq.com", Url = "http://www.aprilblank.com" }
                });
                
                // 为 Swagger JSON and UI设置xml文档注释路径
                var basePath = Path.GetDirectoryName(AppContext.BaseDirectory);//获取线程池池运行运行所在目录(绝对,不受工作目录影响,建议采用此方式获取路径)
                var xmlPath = Path.Combine(basePath, "April.xml");
                options.IncludeXmlComments(xmlPath);
                
            });
            #endregion
        }

右键WebApi你你什儿 项目工程,点击属性,在生成你你什儿 栏

先拿Values你你什儿 控制器做实验



重新生成可不都还可以 在对应目录看一遍有Apirl.xml文档文件,运行就让查看/Swagger



点开刚才单独注释参数的/api/Values/{id}

小结

一另俩个WebApi工程离不开文档,而一另俩个在线文档还也能省掉个人有些有些事,怎么让Swagger也支持在线调试,虽说我个人还是倾向于Postman(后续会介绍相关工具),你你什儿 在线文档不仅是方便了前端查看,总之在开发上其实是一另俩个利器。

下一篇,介绍后台核心之一,Log日志