使用Swagger制作WebApi的接口

时间:2022-02-16 06:18:03

首先,创建一个空的WebApi项目

之后,创建Controller,然后继承ApiController

使用Swagger制作WebApi的接口

之后呢,我们需要写个方法,当然,都是有返回值的,不能用return View()啥的(毕竟是返回数据用的接口)

然后,我们需要引用NuGet里头的 Swashbuckle、swagger.Net.UI

使用Swagger制作WebApi的接口

使用Swagger制作WebApi的接口

注:引用完 Swashbuckle,会在App_Start里头生成一个 SwaggerConfig(用来配置Swagger参数的,强烈建议使用稳定版本的,我用了一下最新预发行版,结果没生成这个文件,之后再次引用下5.53的稳定版,丫丫的,也可能是这个文件需要后面才引用--在引用swagger.Net.UI之后)

配置参数:

using System.Web.Http; using WebActivatorEx; using wp3; using Swashbuckle.Application; [assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")] namespace wp3 { /// <summary> /// Swagger配置 /// </summary> public class SwaggerConfig {      //加了这个 private static string GetXmlCommentsPath() { return string.Format(@"{0}\bin\wp3.XML", System.AppDomain.CurrentDomain.BaseDirectory); } public static void Register() { var thisAssembly = typeof(SwaggerConfig).Assembly; GlobalConfiguration.Configuration .EnableSwagger(c => { c.SingleApiVersion("v1", "wp3"); c.IncludeXmlComments(GetXmlCommentsPath());//加了这个            }) .EnableSwaggerUi(c => {       }); } } }

注意:上面的GetXmlCommentsPath  静态方法,是读取你这个项目bin目录下生成的 Xml(这个是你在Swagger里头注释的内容),

需要  右击你的项目->属性->生成,,将XML文档文件  勾选起来,生成目录可以自己选择,当然  楼上的  SwaggerConfiger中的GetXmlCommentsPath  的路径也需要修改了

使用Swagger制作WebApi的接口

之后,去App_Start中,将楼上的两行注释掉(没有的话就算了,据说是因为:估计是nuget包中的代码没有更新导致这个异常出现)

使用Swagger制作WebApi的接口

然后,运行没看到,我就在代码头部加上个  Route("Default/Login")   路由地址

使用Swagger制作WebApi的接口

之后运行了,也显示出来了(包括没加这个路由的方法也显示出来了,个人猜测,应该是有大的改动之类的,才会更新--或者我没单一生成项目吧,外加清理解决方案)

最后呢?我们就可以运行期这个项目看看了

地址::5941/swagger/Ui/index    (你的local地址 +  /swagger/Ui/index )

结果如图:

使用Swagger制作WebApi的接口

后话,出现个状况,初始自带的  

还存在,我后续看看怎么会出来的

感谢:

使用Swagger制作WebApi的接口