ASP.NET MVC 5使用Swagger生成API文档

时间:2024-01-17 14:31:50

一、安装

新建一个没有身份验证的mvc项目 - SwaggerMvc5Demo,然后添加一个名为Remote(自定义)且包含基础读写(不想手写)的ApiController
ASP.NET MVC 5使用Swagger生成API文档
 ASP.NET MVC 5使用Swagger生成API文档
使用以下方法来添加 Swashbuckle:
  • 从“程序包管理器控制台”窗口:Install-Package Swashbuckle -Version 5.6.0
  • 从“管理 NuGet 程序包”对话框中:
    • 右键单击“解决方案资源管理器” > “管理 NuGet 包”中的项目
    • 将“包源”设置为“nuget.org”
    • 在搜索框中输入“Swashbuckle”
    • 从“浏览”选项卡中选择“Swashbuckle”包,然后单击“安装”

二、配置

1.项目属性->勾选生成xml文档文件
ASP.NET MVC 5使用Swagger生成API文档
ASP.NET MVC 5使用Swagger生成API文档
2.添加导航链接
在_Layout.cshtml文件中添加代码
<li>@Html.ActionLink("Swagger Help", "", "Swagger", new { area = "" }, null)</li>
3.修改SwaggerConfig.cs文件
 安装完成后,在文件夹App_Start自动生成一个配置文件 swagger.config。这里可以做多版本控制,定义扩展功能,自定义显示ui的样式脚本,可以配置过滤、权限等。
例如:
(1)为接口添加xml注释
string path = string.Format("{0}/bin/SwaggerMvc5Demo.XML", System.AppDomain.CurrentDomain.BaseDirectory);
c.IncludeXmlComments(path);
使用前
ASP.NET MVC 5使用Swagger生成API文档
ASP.NET MVC 5使用Swagger生成API文档
使用后
ASP.NET MVC 5使用Swagger生成API文档
ASP.NET MVC 5使用Swagger生成API文档
(2)使用特性 [Obsolete]
在config中 开启 c.IgnoreObsoleteProperties();
ASP.NET MVC 5使用Swagger生成API文档
 ASP.NET MVC 5使用Swagger生成API文档

三、调用

1.直接调用
只要输入参数id,即可调用,非常方便
ASP.NET MVC 5使用Swagger生成API文档
ASP.NET MVC 5使用Swagger生成API文档
2.AutoRest
AutoRest (https://github.com/Azure/AutoRest), 简单来说,就是一个EXE工具,可以根据Swagger的结构生成服务的客户端,这个客户端可以让你像调用本地方法一样调用服务,方法内部包装了Http请求。 
扩展:ABP集成swagger
参考文章: