什么是Swagger?Swagger是一个标准化的完整框架,用于生成、描述、调用和可视化RESTfulWeb服务。Swagger的目标是为RESTAPI定义一个标准的和语言中立的接口,让人们和计算机能够在不访问源代码、文档或网络流量监控的情况下发现和理解服务。通过Swagger正确定义后,用户可以使用最少的实现逻辑理解远程服务并与之交互。与为低级编程实现的接口类似,Swagger消除了调用服务时的猜测。Swagger有什么优势?支持API自动生成同步在线文档:使用Swagger后,可以直接通过代码生成文档,不再需要自己手动编写接口文档。对程序员来说非常方便,可以节省写文档学习新技术的时间。提供网页在线测试API:光有文档是不够的,Swagger生成的文档也支持在线测试。参数和格式都设置好了,直接在界面上输入参数对应的值就可以在线测试界面了。如何在.NETCore中使用Swagger?(1)准备工作创建.NETCoreWebApi工程创建Model类库(2)在工程中引入Swagger在WebApi工程中执行命令:Install-packageSwashbuckle.AspNetCore(3)在StarUp.cs的ConfigureServices中添加代码`#regionSwaggerservices.AddSwaggerGen(c=>{c.SwaggerDoc("v1",newInfo{Version="v1.1.0",Title="SwaggerWebAPI",Description="XXXprojectAPIdocumentation",TermsOfService="None",Contact=newSwashbuckle.AspNetCore.Swagger.Contact{Name="XXX项目",Email="273145719@qq.com",Url="https://www.cnblogs.com/NBIDataVis/"}});varbasePath=Path.GetDirectoryName(typeof(Program).Assembly.Location);//添加接口xml的路径varxmlPath=Path.Combine(basePath,"TrySwaggerCore.xml");//如果需要显示controllerannotationonly第二个参数需要设置为truec.IncludeXmlComments(xmlPath,true);});#endregion`(4)在StarUp.cs的Configure中添加代码`#regionSwaggerapp.UseSwagger();app.UseSwaggerUI(c=>{c.SwaggerEndpoint("/swagger/v1/swagger.json","ApiDocumentV1");});endregion`(5)运行后进入/swagger目录可以查看Swagger启用的问题汇总:(1)如果需要设置WebApi的默认启动页为Swagger,那么在Properties(2)这里运行后会发现界面的注释没有显示出来,我们需要在WebAPI项目上右击-》属性-》生成-》XML文档文件中配置注释XML文件另外记得第二个参数这里的代码需要设置为True,否则不会显示controller级别的注释,只会显示界面注释(3)如果知道了发现有很多警告,强迫症患者看这里.我们只需要在生成时强制过滤掉1591个warning即可,下一章会介绍Swagger的分组功能的使用方法。
